Jump to content

The Hamma

Member
  • Posts

    420
  • Joined

  • Last visited

Posts posted by The Hamma

  1. On 10/23/2024 at 1:03 PM, BartH said:

    In the file with the most recent data, do a Save and Commit. 

    Even though the file appears disconnected with the project, the Project file still seems to see the user as having the Items checked out. 

    In the main working file, update from the Project file.

    Thanks for the tip, I will try this next crash.  

  2. While working in a project sharing working file Vectorworks crashed

     My next step was to open the backup file of my working file. 

     

    This is where the issue arises. 

    1. The backup file was no longer attached to the project file (I believe in previous versions this was not the case)
    2. The project file still has my items checked out.  
    3. There is no way for me to save my changes from the backup working file to project file.  
    4. I worked on several layers and pieces and parts of the file. 

     

    What is the recommended process for correcting this? 

     

    Fortunately for me there was no one else working in the file at this time so I was able to recreate the project file from my backup, but this is rarely the case.  

  3. 54 minutes ago, Nikolay Zhelyazkov said:

    For what you are trying to achieve I would recommend using a custom record instead of the second text field in the data tag and read from the record directly, which will be much faster and will not cause recursive calls to the data tag.

    I tried that but the record attached to the tag in the resource manager doesn't seem to want to follow the tag from the resource manager to a new drawing.

    Scratch that, I must have done something wrong.  This will work but it makes it harder to get the handle to data tag if more than one item is associated with the roof. 

  4. 4 hours ago, Nikolay Zhelyazkov said:

    This is crashing because in the script you rotate the data tag and reset it, which then loops back to the script execution from the data tag reset and ends up in an endless loop that causes a crash.

    Actually tried reducing the script to doing nothing but exporting text. It only crashes when I try to call the DATATAGFIELD('Run') value from the tag formula and only when trying to tag a roof face within a roof object. 

  5. This version is simplified so it won't crash Vectorworks. 

    You will get a message if you try to tag a roof object rather than a roof face. 

    You can only add one tag to a roof face or the tag won't work.  

     

    See the post above for locating the files in your libraries. 

     

    You can still adjust the Run value but it needs to be edited in the tag layout formula directly. 

    Both the Run and Rise values need to be adjusted.

     

    To change the Run value edit the change the value of  '12' in the Pitch formula =RUNSCRIPT(120, 'RoofSlopeAngle.vs', 'Rise', '12')

    image.png.74f88c7759f09d374ec35593d475fc68.png

    You will also need to chage the value of Run in the tag if the tag has a seperate Run Value for example.

     image.png.82d8efafc13826f159adc881153b4a5e.png

     

     

    Roof Pitches on Plan.vwx

    RoofSlopeAngle.vs

    • Like 1
  6. I have identified the issue with the crash but I don't know if there is a solution.   It is crashing because of the DATATAGFIELD('Run') part of the script when it finds the objects within a container like a roof.  Without DATATAGFIELD('Run') the rotation function will not work and theirfore is an essential part of the tag.  

    I have tried to define the criteria to omit objects that have a parent but there does not appear that data tags have this functionality at this time and data tags are supposed to select objects within a container.  

  7. I revised these tags to take advanage of new data tag features of Vectorworks 2025. 

    The tags will now rotate with the roof slope automaticaly.  With this ability I added a new tag to show the direction of the roof slope down. 

     

    Attached are two files.  One contains the data tags Roof Slope Arrow.vwx and the other contains the companion script RoofSlopeAngle.vs. For these tags to work you need to place the companion script RoofSlopeAngle.vsin the "\Libraries\Defaults\Reports_Schedules" in your USER, WORKGROUP or APPLICATION folder. ( Vectorworks restart may be necessary).  

    I also recommend placing Roof Slope Arrow.vwx in "\Libraries\Annotations\Data Tag (styles)\Architecture Space" in your USER, WORKGROUP or APPLICATION folder.  

     

    (Warning: This tag currently will crash your drawing if you attempt to use it on a Roof object instead of a Roof Face.  Be sure to ungroup your Roof object before taging.  See current solution below)

     

    image.png.12261d8606d484616171d27c04d2f4de.png

    • Like 3
  8. I revised this for Vectorworks 2025.  

    The line labels will rotate with the lines automaticaly and they also compensate for when the Georeferencing Angle to North is changed from 0 degrees. 

     

    You will need to put the "ArcPoints.vs"  in the  \Libraries\Defaults\Reports_Schedules of your USER, WORKGROUP, or APPLICATION library folder.

     

    The tags are in Site Property Line.vwx file. 

     

    Bug in script, updated 1-29-2025

     

    ArcPoints.vs

    • Like 1
  9. I created data tags for displaying roof pitches on a roof plan. 

     

    Important: (These tags only works on roof faces so you will need to ungroup your roof to add the tags and the tag must be associated with a roof face).

     

    Attached are two files.  One contains the data tagsRoof Pitches on Plan.vwx and the other contains the companion scriptRoofPitch_12.vs. For these tags to work you need to place the companion script RoofPitch_12.vs in the "\Libraries\Defaults\Reports_Schedules" in your USER, WORKGROUP or APPLICATION folder. ( Vectorworks restart may be necessary).  

    I also recommend placing Roof Pitches on Plan.vwx in "\Libraries\Annotations\Data Tag (styles)\Architecture Space" in your USER, WORKGROUP or APPLICATION folder.  

     

     

    Screenshot2024-08-31093849.thumb.png.e59bf23f79c524fa8812090d74e12a47.png

    • Love 3
  10. On 8/15/2024 at 2:25 PM, Pat Stanford said:

    Rather than trying to do the whole thing in Worksheet functions, you are probably better off going to VS/Python and putting all the calcs into a single Worksheet Script. Then you only have one script to run to get your Data Tag output rather than multiple scripts and a bunch of Worksheet stuff.

    Thanks again.  Everything is working great.  I had to create two data tags (one is "Arc Bearing" and the other is "Arc Opposite Bearing") for the arcs because the bearing Northing can't be controlled with the direction that the arc is drawn.  

    Also I did put theArcPoints.vs  in the  Reports & Schedules folder in Default content in my workgroup folder. 

     

    Updated 08/16/2024 bug fixes

     

    Screenshot2024-08-15154343.png.5dcf5a0cc8dfeb945d913d11c3eb870c.png

     

    Arc Bearing.vwx

    • Like 2
  11. Ok so when looking at a line I was able to write a worksheet function to give the correct bearings to a line in vectorworks. but even if I replace the if's with WS_IF the data tag only reports the name of the tag.  Any ideas of what is wrong with the Data tag forumla?

     

    Worksheet formula

    =IF((ANGLE>=0), IF((ANGLE=90), CONCAT('N 0°'), IF((ANGLE<90), CONCAT('N ', TRUNCATE(90-ANGLE, 0), '° ', INT((90-ANGLE-INT(90-ANGLE))*60), ''' ', ROUND((((90-ANGLE-INT(90-ANGLE))*60)-INT((90-ANGLE-INT(90-ANGLE))*60))*60), '"', ' E'), CONCAT('N ', TRUNCATE(ANGLE-90, 0), '° ', INT((ANGLE-90-INT(ANGLE-90))*60), ''' ', ROUND((((ANGLE-90-INT(ANGLE-90))*60)-INT((ANGLE-90-INT(ANGLE-90))*60))*60), '"', ' W'))), IF((ANGLE=-90), CONCAT('S 0°'), IF((ANGLE>-90), CONCAT('S ', TRUNCATE(90+ANGLE, 0), '° ', INT((90+ANGLE-INT(90+ANGLE))*60), ''' ', ROUND((((90+ANGLE-INT(90+ANGLE))*60)-INT((90+ANGLE-INT(90+ANGLE))*60))*60), '"', ' E'), CONCAT('S ', TRUNCATE(ANGLE-ANGLE-ANGLE-90, 0), '° ', INT((ANGLE-ANGLE-ANGLE-90-INT(ANGLE-ANGLE-ANGLE-90))*60), ''' ', ROUND((((ANGLE-ANGLE-ANGLE-90-INT(ANGLE-ANGLE-ANGLE-90))*60)-INT((ANGLE-ANGLE-ANGLE-90-INT(ANGLE-ANGLE-ANGLE-90))*60))*60), '"', ' W'))))

     

    Data tag Formula

    #WS_IF((ANGLE>=0), WS_IF((ANGLE=90), CONCAT('N 0°'), WS_IF((ANGLE<90), CONCAT('N ', TRUNCATE(90-ANGLE, 0), '° ', INT((90-ANGLE-INT(90-ANGLE))*60), ''' ', ROUND((((90-ANGLE-INT(90-ANGLE))*60)-INT((90-ANGLE-INT(90-ANGLE))*60))*60), '"', ' E'), CONCAT('N ', TRUNCATE(ANGLE-90, 0), '° ', INT((ANGLE-90-INT(ANGLE-90))*60), ''' ', ROUND((((ANGLE-90-INT(ANGLE-90))*60)-INT((ANGLE-90-INT(ANGLE-90))*60))*60), '"', ' W'))), WS_IF((ANGLE=-90), CONCAT('S 0°'), WS_IF((ANGLE>-90), CONCAT('S ', TRUNCATE(90+ANGLE, 0), '° ', INT((90+ANGLE-INT(90+ANGLE))*60), ''' ', ROUND((((90+ANGLE-INT(90+ANGLE))*60)-INT((90+ANGLE-INT(90+ANGLE))*60))*60), '"', ' E'), CONCAT('S ', TRUNCATE(ANGLE-ANGLE-ANGLE-90, 0), '° ', INT((ANGLE-ANGLE-ANGLE-90-INT(ANGLE-ANGLE-ANGLE-90))*60), ''' ', ROUND((((ANGLE-ANGLE-ANGLE-90-INT(ANGLE-ANGLE-ANGLE-90))*60)-INT((ANGLE-ANGLE-ANGLE-90-INT(ANGLE-ANGLE-ANGLE-90))*60))*60), '"', ' W'))))#

     

     

    Result from the worksheet of four lines each pointing to a different quadrant

    image.png.b2c9bcb83e11e305254a5d6d7d723cee.png

     

  12. 2 hours ago, rDesign said:

    Isn’t most of this information included in the preformatted Property Line reports? Or are the segment records only attached if you created the arcs as a part of a ‘property line’ object?

    In my Opinion the Property Line object is an overcomplicated tool for creating property lines.  The property lines are simply lines from one point to another with or without radius.  The property line tool is not the way any engineer would divide a property.  This is for inputting data that someone else has already created. I never use it.   

    • Like 1
  13. Ob

    2 hours ago, DomC said:

    Aha, then you could use this one. I like this idea. Also for myself i have tons of scripts and this one can help execute them fast with a menu command and one single click.

     

    Obviously you are very fluent in Python.  Many of my scripts are also in Vectorscript.  I have not been able to find a command to run an external vectorscript other than the "DoMenuTextByName('Run Script',00);" but that requires you to choose the script in a dialog box.  

     

  14. 5 hours ago, DomC said:

    Two open things:
    1. I think the script have to be temporary imported to run and deleted after which looks not very elegant
    2. "vs.PythonExecute(str(vs.GetScriptResource(script_name)[1]))" runs a python script. I do not know how to run pascal code here.

    I was thinking more using this to run external pyton script that was in a text file. 

    import _main
    	_main.execute()

    https://developer.vectorworks.net/index.php/Python_Sample_Menu_Command

     

  15. On 8/11/2024 at 4:28 PM, DomC said:

    have an own approach of organizing through one single palette, which have Favorite Scripts but can access to non-favorite scripts as well over the separator. Also there is a dialog, which allows to add and remove script to the favorite palette. Not finished yet (i will have to implement some presets to easy reset palettes to default)

    This is so cool! 🤯 I wish I could read it, LOL, and I had a better understanding of how this works. 

     

    I have a file folder filled with external scripts and I would love to be able to adapt your dialog box to invoke those scripts so I could just have one script built into the workspace and have all the scripts live in the workgroup folder.  That way they could be invoked from anywhere without having to add each one to the workspace or the drawing.  

×
×
  • Create New...