Jump to content

Jesse Cogswell

Member
  • Posts

    705
  • Joined

  • Last visited

Reputation

855 Spectacular

Personal Information

  • Location
    United States

Recent Profile Visitors

6,516 profile views
  1. You could also use my Replace Name Text menu command to purge the old names, just enter the name in full in the Text field and make sure the Replace With field is empty.
  2. I think it would be a huge benefit to be able to apply class and layer filters with a script. That way, you can script in filter changes into Saved Views, so activating a Saved View could change the filters as well. I think it would be worth the enhancement request.
  3. I very much agree with you. I used the script from @Pat Stanford that creates a worksheet of all parameters associated with the selected object to track it down. If they're not going to include it in the parameters dialog (with maybe a Show Hidden Fields checkbox?), they could at least include it in an appendix on the Developer Wiki or the offline function reference.
  4. They made some changes to the Lighting Device object back in 2020. Instead of using the Use Legend field, try updating the Legend Symbol Definition field instead. It's a "hidden" parameter that doesn't appear in the Object Info Palette or the parameter list in the Spotlight Preferences dialog.
  5. I just wrote up a little test and I think the maximum number of lines is 32,768. This makes sense in that it is the limit of the integer value and the AddChoice procedure is looking for an integer argument for the index. PROCEDURE TestListBox; CONST kItems = 32769; VAR dialog,layoutDialog:LONGINT; FUNCTION DrawDialog(DName:STRING) : LONGINT; CONST kListWidth = 50; kListLength = 50; VAR dia:LONGINT; BEGIN dia:=CreateLayout(DName,FALSE,'Close',''); CreateListBoxN(dia,11,kListWidth,kListLength,FALSE); SetFirstLayoutItem(dia,11); DrawDialog:=dia; END; PROCEDURE DialogHandler(VAR item,data:LONGINT); VAR i:LONGINT; BEGIN CASE item OF SetupDialogC: BEGIN FOR i:=1 TO kItems DO AddChoice(dialog,11,Num2Str(0,i),i - 1); END; 1: BEGIN END; END; END; BEGIN dialog:=DrawDialog('List Test'); layoutDialog:=RunLayoutDialog(dialog,DialogHandler); END; Run(TestListBox);
  6. @tbexon You have the naming convention right, but unfortunately the dark mode only works using the newer .svg file format rather than .png. One nice thing is that you no longer need the @2x version. The .svg file will handle scaling based on the display resolution. It does make things trickier for backwards compatibility, though. But .png files still work for tools and plug-ins, just not for tool set icons.
  7. Reset to the layer plane. In versions before 2024, you could select Layer Plane from the plane drop-down in the view bar, I don't know if there's an easy way in 2024 (I still daily drive 2023, partly because I find the new view bar to be semi-infuriating). One quick and dirty way is to go back to a top/plan view, then hit Previous View to go back to the 3D view.
  8. It looks like you attached the records while inside the edit container of the symbol. You only want to do this when using the Link Text to Record command, since it will take care of the record attaching for you. What you really want to do is detach the record while inside the edit container first, then use the Resource Manager to attach the record to the symbol instead. Just right-click the symbol in the Resource Manager and select Attach Record. Put a checkmark next to the records you want to attach and press OK, and the record will then be attached to the symbol. You can also use the Edit Values button to assign defaults for the symbol that can override the record defaults.
  9. @Elite Exhibits My argument for using working planes and the text object is that you can then link the text to a record field for more flexible labeling. That way you don't need separate symbols for each individual case (as long as they are the same dimensions anyway), they can all be the same symbol with the label set by the record data. As far as I know, there's no way to do that with text that's been converted to polylines and extruded.
  10. @MGuilfoile I think what's tripping you up is that you are trying to do this with only the 3D Polygon tool rather than the standard planar tools (Rectangle, Circle, etc). You can absolutely use the Extrude command on a planar object drawn on a 3D face without leaving a 3D view, but you do have to set a proper Working Plane first. Let me put together a quick example. Let's say that you needed to draw a tetrahedron with a ringed inlay on one side. First, I'm going to draw the bottom triangle in plan view using the Regular Polygon tool. Next, I'm going to place a 3D Locus in the center of that triangle and set the Z height to the height of the peak. From here, I'm going to switch to a 3D view, select the bottom triangle, and run the Modify - Convert - Convert to 3D Polys menu command to turn into a 3D Polygon (trust me, I'm going somewhere with this). Without changing my view, I can use the 3D Polygon tool to draw the remaining three faces, snapping from the corners of the bottom 3D polygon to the 3D locus. The reason I did this with 3D Polygons is that they behave as solids, I can select all of them and run the Model - Add Solids command to create a solid object. Okay, now let's do the inlay. Without changing view, I'm going to select the Circle tool. You should see the option for Auto-Plane be selectable in the upper left of the mode bar. You can also engage/disengage the Auto-Plane mode by pressing the backslash (\) key. Note, this will be grayed out if you are not in a 3D view and do not have a planar tool selected. Now when I hover the mouse over a face of the object, that face should automatically highlight. I'm going to place a circle at the center of the face with a radius of 2.5". Once complete, the circle will immediately be able to be pushed/pulled by clicking on it when the face is highlighted in red without needing to start the Push/Pull Faces tool. Like you, I am not a fan of the Push/Pull tool and prefer to do extrusions the old-fashioned way. But we're not quite done making the ring, so we're going to use everybody's favorite Offset tool and Modify - Clip Surface command to create a 1/4" ring. With that ring selected, I can then extrude the ring -1/2" to form the inlay, and finish with a Model - Subtract Solids. It looks like they made a change to VW2024 and the extrusion default is 1'0" instead of 0", so we get a fun preview. After doing the subtraction, we now have our inlay, all modeled without changing our initial view. If the Auto-Plane option isn't working for you, you can also manually specify a working plane by using the Set Working Plane tool in the 3D Modeling toolset, which will let you select a face as the working plane. This is the option that I typically use, the default shortcut is Shift + 1, and I find it safer to always specify my working plane rather than relying on Auto-Plane. To reset the working plane back to the layer plane, I usually just press the 0 on my numeric keypad to return to Top/Plan, then press the Previous View button if I need to return to the 3D view.
  11. Is there a reason you are converting the text to polylines? I frequently use the standard text object to add labels to the 3D components of symbols. The key here is to, as suggested by @Pat Stanford, set a working plane on the face that you want to add a label to. You can do this in multiple ways, such as using the Set Working Plane Tool (default shortcut is Shift + 1) and selecting the face in a 3D view and then selecting the Text tool and placing it on the face. Selecting the top face of an extruded rectangle: Entering text on that working plane: If you are in a 3D view and open the Text tool, you should have the option to engage the Automatic Working Plane mode (it's up in the left-hand corner in VW2024 as a button and can be accessed in earlier versions from the Working Plane drop-down menu in the middle of the view bar), which can be used to automatically place planar objects (such as polylines and text) when in a 3D view. This option can also be toggled using the backslash (\) key. Once you've placed your text, you will have to move it slightly away from the face to avoid what we call Z-fighting, where the text and the plane of the object are trying to occupy the same space. I usually move the text 0.01" away from the face. Unfortunately, even though the Text object will now be on the 3D Plane instead of the Layer Plane, you won't have access to the Z height in the Object Info Palette. I usually just move the Text object directly and make sure I'm locked to the right axis. One huge benefit of using the standard Text tool over converting the text into polylines is that you can use the Tools - Records - Link Text to Record command to link that text to a record attached to the symbol. So if you have multiple cases that are the same dimension but want to give them separate labels, you only need one symbol per case size. This data can then also be used in worksheets to help generate schedules. As an example, here is a screenshot for an exhibit drawing I am working on. I've used the standard text object to place a label on the front faces of all of the graphics objects, then linked that text to the Graphic Number field of a record containing all of the data for that graphic. I have a corresponding linked text object in the 2D component of the symbol. So if something causes the graphic number to change, I can change it in the Object Info Palette (or directly on the schedule if I've made a Database Worksheet) and my plans and elevations will all automatically updated without having to edit the symbol components or annotations in a viewport.
  12. There's a function for it: CnvrtToGenericSolid.
  13. @Josh_M_Gill The way to install the scripts are as follows: Download the .vsm file from my post above to your User Folder in the Plug-ins Folder. This can be tricky to find the actual location of if you haven't done it before, but the easy way to get to it would be to open up your Vectorworks Preferences and select the User Folder tab. Then click the Explore button to open it in an Explorer window. Make sure the .vsm folder is in the Plug-ins folder and restart Vectorworks. Next we need to get the script into your Workspace. Go to Tools - Workspaces - Edit Current Workspace. Select the Menus tab. In the box on the left, find and expand the JNC category. In the box on the right, find a menu to put them in, such as View or Tools. Click and drag the menu commands from the box on the left to the desired menu on the right. Click OK to close the dialog and rebuild the Workspace with the new commands.
  14. Pat's method above totally works, but I found the easiest way to share multiple plug-ins is to "zip" them all into a .zip file and then use the Install button in the Plug-in Manager. To do this, follow these steps below: Get to the Plug-ins folder inside the User Folder. The quick and dirty way to do this is to open up the Vectorworks Preferences dialog, select the User Folder tab, and click on the Explore button (or the Open in Finder button on Mac). This will open up the User Folder in an explorer window. Open up the Plug-ins folder. You should find all of your written plug-ins here, as file types .vsm, .vso, and .vst as @Pat Stanford mentioned above. Your signature says that you're on Windows, so you can select all of the plug-in files that you want to share, then right-click and select Send To - Compressed (zipped) folder. This should create a .zip file containing all of the selected plug-ins. If you're using Windows 11, you will probably need to select Show More Options before Send To is visible. Move (not copy, move or cut-and-paste) the .zip file to a location outside of the User Folder. Send your colleague the .zip file. On your colleague's machine, open up the Plug-in Manager by going to Tools - Plug-ins - Plug-in Manager. Navigate to the Third-party Plug-ins tab. Click on the Install button. Navigate to the downloaded .zip file that you made earlier. Restart Vectorworks.
  15. @ford519 I wrote a plug-in last spring to cover a slightly different goal, but it does incorporate numbered lists. Check out this post: I have made some slight revisions since the post above, so the most current version can be found in this post:
×
×
  • Create New...