Jump to content

Pat Stanford

Moderator
  • Posts

    12,624
  • Joined

  • Last visited

Posts posted by Pat Stanford

  1. @twk Thank you.  I was hoping someone with more experience than I in Python might figure out that it was a different data type needed.  I think koenr and I were trying to use lists.

     

    I will update the Developer function reference.

    • Like 1
  2. Debe constar de 4 secciones de seis dígitos separadas por guiones. XXXXXX-XXXXXX-XXXXXX-XXXXXX.

     

    El primer conjunto es la versión. El último conjunto es su número de cliente. Los dos del medio son la parte de seguridad. Debes ingresar todo de una vez.

    Gracias traductor de Google

     

    It should consist of 4  six digit sections separated by dashes.  XXXXXX-XXXXXX-XXXXXX-XXXXXX.

     

    The first set is the version.  The last set is your customer number.  The middle two are the security part. You need to enter the whole thing at once.

    Thank you Google Translate

  3. My guess would be that the drive the workgroup folder is on is getting mounted differently when you restart the computer. This means that the path that VW is looking for to the WG folder is not present.

     

    What is the path shown in VW Preference:User Folders for the workgroup folder?  And what is the path when you locate the folder in Windows Explorer?

     

    Alternately, if you have VW set to automatically start when you reboot the computer it is possible that VW is starting before the drive with the Workgroup Folder is mounting.

     

    Good Luck.

  4. I think you get that message when you have geometry on both sides of the locus.  When you do that you get a condition referred to as "self-intersecting geometry".  The 3D kernel does not handle this condition very well.

     

    The locus can be at the edge of what you want to sweep, but not the middle.

     

    One work around would be do separate sweeps for the geometry on both sides of the locus and then Add Solids to put them together afterwards.

  5. My Python is too poor to help much.

     

    Take a look at the post in the link below.  For that case, Bill used a Python Class to simulate a VS Array.  Not certain if that would work for you or not.

     

     

  6. OK, Try this script.  Since you are creating the Class, you know there are not any tags already so all we have to do is add the full name as a tag.

     

    Open the worksheet for editing and run the script. Then check the Classes pane of the Organization dialog.

     

    PROCEDURE CreateClasssesFromWorksheet;
    {Badly scripted by Michael Klaers}
    {Open a worksheet.  Run this script.}
    {This script will create a class using the contents of the cells in Column A as names.}
    {The contents of Column B will be the desciption for the class in Column A of the same row.}
    
    {Poorly modified by Pat Stanford 4-9-24 to add tag instead of description}
    
    VAR
    	
    	WSHand,ClassHandle									:HANDLE; 				
    
    	LoopRow												:INTEGER;
    
    	ClassNameinWorksheet,ClassDescriptioninWorksheet	:STRING;
    	
    	BResult, IsThisACell								:BOOLEAN;
    	
    	A1													:Array[1..1] of String; {Added PS}
    
    BEGIN
    	WSHand:=GetTopVisibleWS;
    		
    		IsThisACell := TRUE;
    		LoopRow := 1;
                
    			WHILE (IsThisACell) 
    			DO	BEGIN
    				
    				
    				GetWSCellString(WSHand,LoopRow,1,ClassNameinWorksheet);
    				GetWSCellString(WSHand,LoopRow,2,ClassDescriptioninWorksheet);
    				If ClassNameinWorksheet <> ''
    					THEN
    					NameClass(ClassNameinWorksheet);
    					ClassHandle := GetObject(ClassNameinWorksheet);
    					A1[1]:=ClassDescriptioninWorksheet;			{Added PS}
    				{	BResult := SetDescriptionText(ClassHandle, ClassDescriptioninWorksheet); } {Removed PS}
    					BResult := SetObjectTags(ClassHandle, A1); {Added PS}
    					IsThisACell:=IsValidWSCell(WSHand,LoopRow + 1,1);
    					LoopRow := LoopRow + 1;
    				
    				END;
    		
    	
    END;
    
    
    RUN(CreateClasssesFromWorksheet);

     

    • Like 1
    • Laugh 1
  7. Are you certain that the designer actually Exported as VW2022? Because as you know VW2022 can not open a VW2024 file.

     

    If you open the VW file with a text editor the first line should look something like this:
     

    	‡î VW24.0.0 VW29.0.4EKXUSN-G03H14‹VectorWorks Y®•ı

     

    If it says VW29 in the second position, then it is a VW2024 file.  VW27 would be a VW2022 file.

    • Like 2
  8. Two possibilities:

     

    1.  Just put the trusses into the Annotations group of the Viewport. That way the section is still linked to the model in case things change you don't have to start entirely from scratch.

     

    2. Select the Viewport and from the File menu choose Convert to Group or Convert to Lines or Convert to Polygons.  Depending on what you have in the section one will likely work better for you than the others.  If you want to put is back on a Design Layer, set the Viewport scale to 1:1 before the convert. That way when you move it to a layer with a different scale it will come in at the appropriate size.

  9. I can only think of two ways to accomplish this.  One is relatively easy, but has a manual component. The second requires a fairly sophisticated script to "interleave" the fixture database rows between the Position Rows.  And I don't think it will let you put the first fixture on the same row as the position name.

     

    For the manual option, either user one of the User Fields or attach a custom record the the first Fixture in each position and manually enter the Hanging Position into that field for the first fixture.  Then in Column A, use the field that only has data from the first fixture.

     

    For the scriptable version, you will need to write a script that will work with the DatabaseByScript function for the criteria of the database.  The script will have to handle all of the sorting as part of the script as you will not be able to Sort of Summarize the data in the scripted database. The idea would be to script adding a row for the position, then rows for each of the fixtures. Repeat the above for each position. Not especially hard but it can get tricky to make sure the sorting is correct.

     

    If you want more information on DatabaseByScript, let me know.

    • Like 1
  10. How are you entering the data into the worksheet?  Is this using a Record.Field value in a database section? Or are you manually typing the class name and desired tags into spreadsheet cells?

     

    Either will work, but it will take a very different script to get the data from the two different versions.

     

    Maybe best if you post a file with your worksheet so we can take a look.

  11. VW2023 can not open VW2024 files directly.

     

    VW2024 will open VW2023 files, but as part of the process will update them to the VW2024 file format.

     

    VW2024 can export a file back to VW2023 file format via the File:Export menu.

     

    You can have both VW2023 and VW2024 installed at the same time and choose the one you want to use.

     

    HTH

    • Like 2
×
×
  • Create New...