Jump to content

Search the Community

Showing results for 'import illustrator' in content posted in Wishlist - Feature and Content Requests.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Announcements
    • Announcements
    • News You Need
    • Job Board
  • Feedback
    • Roadmap
    • Wishlist - Feature and Content Requests
    • Known Issues
    • Wishes Granted / Issues Resolved
    • Forum Feedback
  • General
    • Troubleshooting
    • General Discussion
    • Architecture
    • Site Design
    • Entertainment
    • Vision and Previsualization
    • Braceworks
    • ConnectCAD
    • Energos
    • Rendering
    • Workflows
    • Buying and Selling Vectorworks Licenses
    • Hardware
  • Customization
    • AI Visualizer
    • Marionette
    • Vectorscript
    • Python Scripting
    • SDK
    • 3rd Party Services, Products and Events
    • Data Tags
  • Solids Modeling and 3D Printing
    • Subdivision
    • Solids Modeling
    • 3D Printing
  • Vectorworks in Action
  • Archive
    • Resource Sharing
    • Machine Design

Calendars

  • In-Person Training - US
  • In-Person Training - UK
  • Coffee Breaks
  • Essentials Seminars
  • Webinars
  • Community Groups

Categories

  • Knowledgebase
    • Tech Bulletins
    • Troubleshooting
    • Workflows
    • How To
    • FAQs

Categories

  • Marionette - Objects
  • Marionette - Networks
  • Marionette - Nodes
  • Marionette - Menu Commands

Product Groups

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Occupation


Homepage


Hobbies


Location


Skype

  1. I would love to see Live sync with both Blender and D5 Render. Blender and D5 render have become my go to applications for Rendering, and It gets tiresome to constantly re-export a model from VW and than re-import / update it in Blender and D5 Render. It usually takes me a number of tries to to get the bugs out off the model. I just a long process which could be abbreviated with Live Sync.
  2. We use Vectorworks heavily for graphic layouts as a way of reducing our software license costs (Adobe InDesign, Illustrator). It works great for the most part, but a few, seemingly simple additions could make it even better. 1. In text blocks, Vectorworks is very clunky in dealing with paragraph styles, tabs, and automatic numbering/bulleting. I see even the forum board has the ability to auto-bullet. We often avoid using the general notes or keynote legend tool because of its clunkiness, and instead use simple text blocks; however when creating numbered lists or indented paragraphs, there aren't any ways to format without creating manual tabs that break up the paragraph. 2. For more complex graphic packages, or even sheet specifications, the ability to link text boxes (similar to Adobe InDesign) so that text can spill over from one text box into another continuously as one text string. This frees up the formatting of text into one continuous process, rather than editing one box, then the next, and the next...repeatedly as notes or other text change. InDesign also has the ability to reference in text from Word or other word processing applications; therefore utilizing word processors more complex spell-check and grammar check functions. 3. Text block columns. Similar to above, the ability to split a text box into multiple columns, with continuous text spanning.
  3. Currently PDF pages are unhelpfully imported stacked on top of each other with a small offset. It would be much more helpful if they were brought in and auto-arranged in a grid - the width/height or spacing of which could be part of the import dialogue. I believe this was requested years ago too.
  4. I have heard the reasons for not implementing .FBX import ability for Vectorworks and I have decided they are wrongheaded. VW has but a tiny fraction of the CAD/Modeling world. If it is to survive, working with the big players in the field is a must. At this point in time, .fbx is the export/import format that is best supported by Autodesk. For that reason, Vectorworks must not only export .fbx (which, in my experience has been working very well) but MUST also import this format. OBJ is too old and is no longer adequate in a professional environment. It is actually making it harder to make the case for Vectorworks in a mixed environment--and I find it hard to blame them. There is no reason not to do have .fbx import capability; I hope to see this implemented within the year. It needs to be a top priority if VW is to stay in business. Thank you, MH Brown
  5. Don, I agree. The other software we use does this. It will place what you select (profiles included) you can import or create your own, in the drawing, show in 3D, and report in takeoffs. This is one reason I keep asking for this. Either include in "Architect" or heaven forbid, introduce a "Builders" software package. Just because we have the ability to "create, design" what it is we want, does not translate into having to. I do not know about the rest of Vectorworks users, but I do not the luxury of having the time to do all of this. I love Vectorworks, but it has some serious day to day needs shortcomings.
  6. When exporting a shapefile from VW it adds the suffix _polygons or _polylines to each exported file, I then have to rename each file from the export to remove the suffix as it disrupts the shape files import into our GIS system. The suffix is completely unnecessary for us so an option to toggle it off would be preferential as we will never need it to be included in our file name. As far as I am aware there is no option to remove this suffix, I have looked through the VW preferences and the shapefile export preferences but can't find anything. There is an old Wishlist post from 2014, asking for its removal, that never got a response (attached below) so I'm hoping this will be looked into this time. As the previous post suggested, a simple tick box with the ability to disable the suffix would be more than sufficient to fix the problem. Thanks.
  7. I know it has been requested before but to import an SVG would be so welcoming. Too many files available are in this format and I would appreciate to be able to use them. Has anyone out there actually been able to do this and how? I've tried the Adobe Illustrator and then exporting DXF for Vectorworks but the number of points is a disaster. I want to work on the file in Vectorworks for precision not Illustrator.
  8. Hi, Having spent an hour or so on the phone with one of your very helpful support team I thought it prudent to add this feature request to save time and effort for others in the future. I have imported several DWGs into separate reference files and used reference viewports to view/snap to them in my main working file. However I want to grey out these backgrounds in the sheet layers so that my content (not the architect's) is clearly visible against their background. By using viewport class overrides this should be possible (setting the line and fill colours to grey). I was advised today that this only works if ALL the reference file objects have their attributes set by class. The DWG import doesn't have an option to do this. Setting all objects to by class manually after the import doesn't always work well since the AutoCAD layer definitions (which are converted directly to classes - which is the right thing to do) may not have been used by every object in the drawing (colour by layer/fill by layer etc) but instead set manually. Is there any clever way around this problem (perhaps creating more classes where manual overrides have been used). Creating and using classes based on an objects current line type/colour/fill type/colour etc to create a class automatically and apply the same class to objects with identical attributes and then setting all attributes by class? (I envisage hundreds of 'sub-classes' being created) The other problem arises when dealing with hatches. AutoCAD, unless I am mistaken, allows you to use hatches where the hatch line colour is determined by the layer, VW has individual hatches one per colour if needed .... adding to my problems. I went through and changed all the pen colours and set them to grey (but I don't think that a good idea). Love to hear your thoughts. R
  9. If a layer is set to invisible, it should be invisible when initially referenced, like classes. This way if we set resource layers to invisible in the source file, we don't have to turn them off after referencing them. We do this with 'non-plot' classes.
  10. The new MAC OS Sonoma 14.1 no longer supports .EPS files and Vectorworks 2024 has removed the import EPSF feature! All existing EPS graphics in past and current drawings now show-up as grey boxes with an X. For many of us, this change is crippling our ability to work and generate service to clients as we use dark background for presentation and titleblocks. For example, many graphics such as our corporate logo and professional seal needs to be inserted with a transparent background which predominantly .EPS would have offered. The next logical vector based graphical format that can do transparent backgrounds is .SVG (which stands for Scalable Vector Graphics). To our amazement and surprise, this format is not supported by Vectorworks! Please consider this as a "formal request to have Vectorwoks add the ability to import .SVG file type" into drawings ASAP. We also note that PDF format that was suggested by Vectorworks as an alternative does not work. Specifically, PDF with transparent background is ignored and comes in with solid background. PDF also has limitation on pixel and is not as flexible as vector graphics. We note that MAC does support .SVG as we are able to import into native applications such as pages. This issue is a major step back and NEEDS to get fixed. This can't wait for the next quarterly update and NEEDS to be incorporated fast and in a hurry. Please and thank you, i
  11. With more and more fixture manufacturers making GDTF files available, I frequently have to import several of these when making a new drawing. The current workflow requires multiple steps to import through the File > Import menu, which is quite awkward to navigate since it currently contains 30 options. It would save time and be a lot more convenient if I could simply drag-and-drop onto the application window as can be done with PDF's. For extra credit, allow the user to re-order or hide items on the Import submenu so the more commonly used ones are easier to find. For extra extra credit, allow all valid file types to be imported via drag and drop.
  12. We are looking at moving more schedules to online shared resources. This collaboration with contractors, clients etc. is super helpful. Right now we have to have all of our automated schedules as stand-a-lone Vectorworks worksheets, and shared schedules like finish schedules as google. It would be great if we could export and import google sheets to directly sync and overwrite the shared files.
  13. Adobe Illustrator simply needs a major update. The DXF import / export features are notoriously unreliable and they have been so for a very long time now. Its' surprising that such a large company can't do better in this respect considering how important the communication between the CAD and printing world is. Most of us use this type of communication a lot, usually on daily basis at least in my business.
  14. I've always found it a problem with the export and import for my work. I love the accuracy of VW but I do need to translate my data to different formats for the multiple files needed for my final set. I provide pattern files and need SVG, PDF, AI besides the EPS and DXF. I would also like to check SVGs too but it's a nightmare to bring into Adobe Illustrator and out to get into VW. There is definitely too much lost in translation, even with DXF! I don't want a simple shape to have 512 vertices.....
  15. I'm a landscape architect in Norway and in working with government-projects the most common rule is that we need to deliver our data in an open format. Non-proprietary. In most cases it is the IFC-format that is being used, but in some projects we need to deliver our terrain model and 3D-data in a LandXML-format. Also source data from a survey can be provided as LandXML that we need to import. To my knowledge this is most common in projects within transportation, such as road and rail planning. We can do this in Civil 3D, but it would be much easier of course, if we could do this directly in Vectorworks, and not being dependent of Civil 3D to do the job. And also possibly loosing data from Vectorworks to DWG before going to Civil 3D.
  16. I've got a lot of Revit content I'd like to use in VW. There's also a lot available online. However, so much imports so badly, if at all, it's unusable.... Please improve the importing and usability of Revit Families and content. Thanks, Rudy Beuc
  17. Yes, it would help a lot to have two way SVG for communication with illustration programs such as Illustrator, Photoshop CorelDraw, Affinity Designer and so on. Not sure it would help in accuracy though, as these programs are on a different and much lower level of accuracy than CAD programs in general, so expect a lot of patching when importing, unfortunately. The same applies to PDF's when importing elements containing vector data. Sure, you can decompose and extract the vectors, but it is always a bit crappy. Perhaps it could be a fixed to some extent by adding a cleaning filter, but it would be based on guessing instead of knowing.
  18. Maybe I did some 3D sketching in Blender or C4D and at one point think it would be nice to have that in Vectorworks or Bricscad. Or an older Project done in Modo only, to bring over to CAD. As I usually architecture-Mesh-model quite accurate, I am sure major part could be converted to Solids in VW easily. Or to import some Entourage items or Materials that clients want to see in your VW Elevations too. (As for C4D, Material import into VW works quite good) Very few 3D Apps speak IFC. And if they do like Blender with Blender BIM AddOn, it would mean some extra work to tag all objects first. But IFC imports to VW are cumbersome and IFC is missing most 3D App features and Material duplicates are a nightmare. As VW in general or VW Viewport is quite tolerant to Meshes, it would be quite handy to get some of that stuff easily in. I would say, since a while we have reached a state where exporting CAD to 3D works quite lossless. A oneway Exchange is still a bit harder and only worked for me with VW to C4D only. But the other way, 3D to CAD, was always lossy and tedious and still is. (I think Archicad has a C4D import ?) At least a 3D to CAD import would be nice. And I finally would really welcome a real 2-way Exchange between 3D and CAD. And the only hope for me that this one day happens is USD. Browsers do/will support USD for presenting 3D Models in the web, in Apple's Preview you can already view and rotate your USD files. In XCode App (Beta) you can edit and create USD environments (meant for Vision Pro of course). Apple helped Blender with USD support, which is one of the best I have sen so far. I am sure that USD will become a standard in 3D Exchange. and maybe finally CAD/3D Exchange, as it will be capable of so much more than FBX.
  19. Is there a way to import an Illustrator CS5.1 file into Vectorworks? Best I can get is a bitmap. I need to be able to edit text.
  20. There should be the possibility to import settings for the export of ifc models. The Button "Einstellungen speichern" is really lonely and not really helping ^^ Also an option to sort the levels (Geschosse) would be nice, the setting is really complicated and a lot of work every time you have to change something or deactivate some Levels. First to set how many levels and then the editing of the several levels
  21. It would be marvelous if gradients could be controlled directly with a click-and-drag method. Selecting the start / end would be so much faster than spending 10 minutes or more doing trial and error using the numerical entry method. Adobe Illustrator has that feature and it's so fast and easy. As someone who really enjoys using gradients, it would make my indulgence of illustrative sections much quicker.
  22. When I use the Landmark > Survey input > Import Survey File ... and want to create Stake objects for every point in the survey file, the preferences in the Stake Object must be set before importing. If the Stake object is set to Mode: Set elev to site model, and if there is a site model in the file, the elevation / z-value from the imported Stake Objects will be overridden and set to the elevation of the Site Model. In order to prevent this the preferences for the Stake must be set to Mode: Use as 2D/3D graphic only, or one of the other modes. If you forget to set the Mode-pref before importing (...) the elevations can be completely wrong (it took me a while to notice that the elevations were wrong...). There should be a warning or an option in the Import Survey File dialogue to prevent this. In the Modify > Convert > Stake Object from 3D Locus the prefs for the Stake Object pops up. Could you do the same for the Survey Import File ?
  23. I would like to import 40+ Sheets from another drawing. I want to include the title block and work sheets. I know, I can't import the viewports, and wouldn't want to. I have been able to import the Sheets, but they come in empty. Please add a checkbox marked 'import layer objects' for Sheet Layers too.
  24. Agreed, class organization is still a crucial aspect, often posing challenges for users. Not all offices and projects require the same workflows. In the realm of Big Projects, the class structure may deviate from the standard, evolving over several years, and copying from old drawings might not be a significant concern. On the whole, it appears to be the right approach to employ a management tool that seamlessly connects various elements. This functionality seems to be already present in Vectorworks and is working quite effectively but always open for future improvements. We have the Ebenen/Klassen-Manager tool and/or the class/layer mapping feature. These tools allow users to define class mappings and save/load them for use in different projects. While mapping classes during object pasting might be functional, it does not align perfectly with the broader workflow requirements addressed by the aforementioned features, such as inserting resources and importing geometry. Try thinking one step forward i can imagine, that something like a overall document style (Not just for classes, mybe also central saved values as project data etc. - i think styles are really a great working concept) could be worth thinking about in this direction. However: Admittedly, I have not insight to "smart paste" feature in action, so my assumptions may be incorrect. It appears that this command executes a standard "paste" action initially, followed by a dialog that enables the user to modify the class of the pasted elements within a selected class, while also offering the option to delete newly created classes if undesired. Due to potential reliance on legacy commands or an inaccessible included file, the functionality may no longer be operational. Generally, scripts can be normally easily adapted for new versions, even when some functions are outdated. But the script does not seems to be available anymore? I use a similar script for records, i invested some time to fit to the class requirements. The script saves the substitution dictionary on disk, a feature seemingly unsupported by the old function. This script appears to encompass approximately 30% of the original "smart paste" pascal-script and its associated included file. It suggests that a fundamental element may be missing or that the dialog code in my example is more concise due to the dynamic creation of the object without the use of dialog builder components. The Dialog of my script: ''' DomC 26.12.2023 Disclaimer: This script comes with no warranty or official support services (excluding the Community Forum). Use at your own risk. It is recommended to test with a copy of your original documents. Known Issues: - Some content within symbols or PIOs may lead to unexpected results. - Pasted resources, including colors, symbols, line types, dimension standards, etc., are not translated; only classes are affected. - The script performs an all-encompassing paste action, resulting in a change to the pastes, still selected elements after pasting. - Pasting inside annotations, Symbols, PIO Graphic Containers etc. may result in unexpected results. - If a bug occours no pasted objects should be missed. Just maybe in wrong classes or maybe unwanted classes are deleted at the worst case. - This script is proof of concept and not matured by testing in real environment The script manages settings using a JSON file (smart_paste_settings.json). It provides functions to read and write a dictionary of class translations from and to the JSON file. Class Management: It defines functions to get a list of existing class names in the document and find the difference between two lists of classes. After a Paste operation (vs.DoMenuTextByName('Paste', 0)), it identifies new classes. Dialog Interface: If the debug_dialog flag is set to True, a predefined list of new classes is used for testing the dialog. The script creates a dialog that allows the user to interactively manage class translations. The dialog includes options to paste all into the active class, view classes present in the dictionary, substitute classes in the dictionary but not in the drawing, and handle new classes not yet in the dictionary. Dialog Functionality: The dialog provides an organized interface with columns for the original class name, the last translated class, and a dropdown menu for selecting a new class. It includes color-coding for clarity (blue for in the dictionary, green for in the drawing but not in the dictionary, red for not in the dictionary). Users can save their settings using a checkbox. Undo Mechanism: If the dialog is canceled, the script performs an Undo operation (vs.DoMenuTextByName('Undo', 0)). Post-Dialog Processing: After the dialog, if saving settings is enabled, it updates the JSON file with the new class translations. It handles the class translations for pasted objects, updating their classes according to the user's selections. It identifies classes to delete based on the difference between new classes and those in the class dictionary. Overall, the script provides a user-friendly interface for managing class translations, making it easier to handle classes in a Vectorworks document. ''' import vs import os import json # Set the folder and file paths for the settings settings_folder = os.path.join(vs.GetFolderPath(-15), 'smart_paste') settings_file = os.path.join(settings_folder, 'smart_paste_settings.json') # Set debug mode (True for debugging, False otherwise) debug_dialog = False # Get the active class name active_class_name = vs.ActiveClass() # Function to read settings from a JSON file def read_settings(settings_folder, settings_file): # Create the settings folder if it doesn't exist if not os.path.isfile(settings_folder): os.makedirs(settings_folder, exist_ok=True) try: # Read the class dictionary from the settings file with open(settings_file, 'r', encoding='utf-8') as file: class_dictionary = json.load(file) except: # If an error occurs during reading, set an empty dictionary class_dictionary = {} return class_dictionary # Function to write settings to a JSON file def write_settings(settings_folder, settings_file, class_dictionary): # Create the settings folder if it doesn't exist if not os.path.isfile(settings_folder): os.makedirs(settings_folder, exist_ok=True) try: with open(settings_file, 'w', encoding='utf-8') as file: file.write(json.dumps(class_dictionary, ensure_ascii=False, indent=2)) except: # If an error occurs during writing, display an alert dialog vs.AlrtDialog('Error writing setting File') # Function to get all class names in the document def get_class_names(): out_classes = [] num_class = vs.ClassNum() for i in range(1, num_class + 1): cname = vs.ClassList(i) out_classes.append(cname) return out_classes # Function to find the difference between two lists of classes def class_diff(old_list, new_list): return [c_new for c_new in new_list if c_new not in old_list] # Read existing translation from the settings file class_dictionary = read_settings(settings_folder, settings_file) # Get existing class names in the document existing_classes = get_class_names() # Perform a Paste operation vs.DoMenuTextByName('Paste', 0) # Get existing class names after pasting actual_classes = get_class_names() # Get new classes after pasting by finding the difference new_classes = class_diff(existing_classes, actual_classes) # class list for testing dialog if debug_dialog: new_classes = [ "Lorem ipsum", "Unknown Class1", "Dolor sit am", "Consectetur", "Adipiscing", "ClassNotInDictionary", "Elit", "Sed do eiusm", "Unknown Class2", "Tempor", "Incididunt ut", "Labore et", "Dolore magna", "Aliqua", "Ut enim ad", "Minim veniam", "Quis nostrud", "Exercitation", "Ullamco", "Laboris", "Duis aute", "Reprehenderit", "Voluptate", "Velit esse", "Cillum", "Excepteur sint", "Proident", "Culpa qui", "Aenean commodo", "Massa quis", "Enim justo", "Rhoncus ut", "Integer", "Tincidunt", "Cras dapibus", "Vivamus", "Elementum", "Aenean vulpu", "Aliquam lorem", "Phasellus", "Fermentum", "Viverra quis" ] items_left = [] items_middle = [] items_right = [] translate_list = [] saved_settings = {} def dialog_settings(): # Control IDs kOK = 1 kCancel = 2 # UIAskForStringsToReplace def CreateDialog(): # Alignment constants # Create the main dialog layout dialog = vs.CreateLayout( 'Class Substitute', False, 'OK', 'Cancel', True) # Create controls and set their positions vs.CreatePushButton(dialog, 5, 'Paste all in active class.') vs.SetFirstLayoutItem(dialog, 5) vs.CreateStaticText(dialog, 6, 'new_class present in dictionary', 30) vs.SetStaticTextColorN(dialog, 6, 0) vs.SetBelowItem(dialog, 5, 6, 0, 1) vs.CreateStaticText(dialog, 7, 'substitute class in dictionary but not in drawing', 40) vs.SetStaticTextColorN(dialog, 7, 4) vs.SetRightItem(dialog, 6, 7, 0, 0) vs.CreateStaticText(dialog, 8, 'new class not yet in dictionary', 30) vs.SetStaticTextColorN(dialog, 8, 2) vs.SetRightItem(dialog, 7, 8, 0, 0) vs.CreateStaticText(dialog, 9, 'Existing class manually attached', 30) vs.SetStaticTextColorN(dialog, 9, 3) vs.SetRightItem(dialog, 8, 9, 0, 0) # Script Scope Variable initialization max_lines = 20 num_groups = int(len(new_classes) / max_lines + 1) kgroup_list = [] start_id = item_id = 12 class_counter = 0 kgroup_list = [] for i in range(num_groups): # Create a group for each set of classes item_counter = 1 group_name = 'List ' + str(i) vs.CreateGroupBox(dialog, item_id, group_name, False) kgroup_list.append(item_id) last_item = item_id item_id += 1 for c_index in range(class_counter, len(new_classes)): c_new = new_classes[c_index] if class_counter >= max_lines * (i + 1): break # Check if the class is in the dictionary and set text styles accordingly in_dict = False in_dict_butnot_drawing = False if c_new in class_dictionary: in_dict = True last_choice = class_dictionary[c_new] if last_choice not in existing_classes: in_dict_butnot_drawing = True text_style = 2 # 2blue, 3green, 4red, 0black if in_dict: text_style = 0 if in_dict_butnot_drawing: text_style = 4 else: class_dictionary.update({c_new: active_class_name}) text_style = 2 last_choice = class_dictionary[c_new] # Create static texts for class names and last choices vs.CreateStaticText(dialog, item_id, c_new, 65) vs.SetStaticTextColorN(dialog, item_id, text_style) if item_id == kgroup_list[-1] + 1: vs.SetFirstGroupItem(dialog, kgroup_list[-1], item_id) else: vs.SetBelowItem(dialog, last_item - 2, item_id, 0, 1) last_item = item_id item_id += 1 vs.CreateStaticText(dialog, item_id, last_choice, 65) vs.SetStaticTextColorN(dialog, item_id, text_style) vs.SetRightItem(dialog, last_item, item_id, 0, 0) last_item = item_id item_id += 1 vs.CreateClassPullDownMenu(dialog, item_id, 25) vs.SetStaticTextColorN(dialog, item_id, text_style) vs.SetRightItem(dialog, last_item, item_id, 0, 0) last_item = item_id item_id += 1 item_counter += 3 class_counter += 1 item_counter += 1 # Create a tab control for better organization vs.CreateTabControl(dialog, 10) vs.SetBelowItem(dialog, 6, 10, 0, 5) for id in kgroup_list: vs.CreateTabPane(dialog, 10, id) # Create a checkbox for saving settings last_item = item_id item_id += 1 vs.CreateCheckBox(dialog, item_id, 'Save Settings') saved_settings['id_save'] = item_id vs.SetBelowItem(dialog, 10, item_id, 0, 2) return dialog # Dialog handler function for dialog interactions def DialogHandler(item, data): if item == 12255: # Enter Dialog pass if item == 5: # Update middle column with the active class name for all classes for id_middle in items_middle: vs.SetItemText(dialog, id_middle, active_class_name) vs.SetStaticTextColorN(dialog, id_middle, 3) class_dictionary[vs.GetItemText( dialog, id_middle - 1)] = active_class_name if item in items_right: # Update the right column with the selected class name item_text = vs.GetItemText(dialog, item) vs.SetItemText(dialog, item - 1, item_text) vs.SetStaticTextColorN(dialog, item - 1, 3) if item_text not in existing_classes: vs.SetStaticTextColorN(dialog, item - 1, 4) class_dictionary[vs.GetItemText(dialog, item - 2)] = item_text if item == kOK: # Save settings if the checkbox is selected saved_settings['save'] = vs.GetBooleanItem( dialog, saved_settings['id_save']) # Store translation information in a list for id_left, id_middle, id_right in zip(items_left, items_middle, items_right): c_old = vs.GetItemText(dialog, id_left) c_new = vs.GetItemText(dialog, id_middle) c_last = vs.GetItemText(dialog, id_right) translate_list.append([c_old, c_new, c_last]) return kOK # Initialize variables and run the dialog result = False dialog = CreateDialog() if vs.RunLayoutDialogN(dialog, DialogHandler, True) == kOK: result = True return result result = True if len(new_classes) > 0: result = dialog_settings() if result: # Check if saving settings is enabled if saved_settings['save']: # Write updated settings to the settings file write_settings(settings_folder, settings_file, class_dictionary) # Initialize a list to store pasted objects pasted_objs = [] # Function to add handles to the list def add_handle(h): pasted_objs.append(h) # Get the active layer and its name lh = vs.ActLayer() ln = vs.GetLName(lh) # Define criteria for selecting objects based on the active layer name c = "(INSYMBOL & INOBJECT & NOTINDLVP & NOTINREFDLVP & ((L='ldummy') & (SEL=TRUE)))" c = c.replace('ldummy', ln) # Use ForEachObject to collect handles of selected objects vs.ForEachObject(add_handle, c) # Loop through the pasted objects and update their classes for obj in pasted_objs: old_class = vs.GetClass(obj) new_class = class_dictionary.get(old_class, 'None') vs.SetClass(obj, new_class) # Identify classes to delete classes_to_delete = [] for class_n in new_classes: if class_n not in class_dictionary.values(): classes_to_delete.append(class_n) # Delete identified classes for class_name in classes_to_delete: vs.DelClass(class_name) if not result: vs.DoMenuTextByName('Undo', 0) For testing purposes this Marionette can be helpful to train the dictionary. Not really tested in real-application. @matteoluigi you see potential to take over the existing script? Test Classes.vwx
  25. Current behaviour… you can reference using layer import or you can reference using design layer viewport while you can create a design layer viewport from a referenced layer you cannot create a ‘referenced’ design layer viewport at the same time as using layer import referencing both methods have been around since 2009? both have been independent isn’t it about time the two co-existed? then we can do what Revit and autoCAD do
×
×
  • Create New...