Jump to content

MarcelP102

Member
  • Posts

    257
  • Joined

  • Last visited

Posts posted by MarcelP102

  1. Popped a beer and watched almost all the movies. I have to say this is a massive upgrade! Congrats Vectorworks! Can't wait till the localized version is out here in Europe. I really like the improvements to the push pull tool. Can anybody tells me what happens if you offset a line without push-pull? Will the face then be splitted? (so you can texture only part of a face?) And the shaded render mode improvements look also really nice. Hope that my issues with line thickness of the edges and shadow quality when using ambient occlusion with shadows have been resolved. And the new Graphic Legend seems amazing. O boy look at all the options!🤩 Same can be said about the elevation benchmark. 

     

    We design a lot of 'nature-inclusive' buildings. Where nature and context is very important. Being able to now use some of the landscape tools really helps with the design progress. 

    • Like 2
  2. It's also my experience that favorites files in the resource selector slows VW down. It seems that at every restart VW loads all files. Since some of our favorite files are over 200mb this takes ages, especially when working from home.. So all my co-workers copied the workgroup libraries with the files to there local drive to fix this issue. But now they have to update those files manual, not ideal.

     

    Hope that indexing those files works better with VW2023 as @Andy Broomell hints.

  3. Yeah that's true off course. But than you also have to reposition all the already places symbols.

     

    Matching axis is important if you want to swap symbols. For example if you design a building build up with repeating/modular elements. 

     

    If you say there is no default function to changes the axes then I know enough and will stop looking, and start scripting! 😄 After my vacation I will make a script that:

     

    1. Get the location and rotation of the workplane. If the workplane is the same place as the symbol axis activate the workplane tool.

     

    2. Move3d and rotate all objects within the symbol so they match with the workplane

     

    3. Move3d and rotate the already places symbols in opposite position as step 2. So they stay at the same place.

     

    Will post here when I'm done.

  4. Hi @herbieherb, thanks for the script. Do you know if it is possible to change the script, or use another function of VW, to change the horizon to be at around 1/3 of the screen height while keeping the two-point perspective? In SketchUp I can activate the two point view and pan the view up. When I do the same in VW the eye height change.. Only way I found is to first put the viewport on a sheet and than resize the crop. But what if I don't want to put it on a sheet first? 

     

    I want my saved views to look like this:image.thumb.png.bb8b867d1dd93c312f609249b1511c9b.png

     

  5. Banner.thumb.jpg.183eef7b04e000a667ece0f8be5b3998.jpg

    Script to select similar objects based on the objects sub-type or parameter.

     

    How it works

    Select an object and run the script. It will try to detect the type and use a smart criteria to select similar objects. This works better than the default 'Select Similar' Tool of Vectorworks because it uses object styles and parameters to select. For simple 2d objects it select objects based on the same type and class. For plugin objects (PIO's) I've scripted custom criteria based on parameters I think are useful for selection. For example @Paolo mouldings can be selected based on profile type/size. I can add more custom PIO's on request.

     

    Hope it speeds up your workflow!

     

    Download
    Get it on Gumroad for free

     

    Feedback? Suggestions? Request?

    Let me know!

     

    • Like 2
  6. Hi all,

     

    I've build a script that uses CallTool(-203) to draw a square and use that as a LOC criteria to isolate or hide objects. To get the handle of the newly created object within a symbol I had to use NextObj (dummyH) as was advised here. So far everything works. Except when using the tool on objects that are within a group within a symbol. Then the LOC criteria doesn't seem to work. Do you have any tips?

     

    See attachment for VW file with scripts and object, or use the code below

    box selectie.vwx

     

    Code for IsolateBoxSelection:

    PROCEDURE IsolateBoxSelection;
    
    VAR
    	H1, dummyH				:HANDLE; 
    
    
    BEGIN
    	Locus(0,0);
    	dummyH := LNewObj;
    	CallTool(-203);
    	h1 := NextObj (dummyH);
    	SetName(h1, 'MySelectionPolygon');
    	DSelectAll;
    	SelectObj(INSYMBOL & (LOC='MySelectionPolygon'));
    	Hide(INSYMBOL & (SEL=False));
    	DSelectAll;
    	DelObject(h1);
    	DelObject(dummyH);
    	ReDrawAll;
    END;		
    
    Run(IsolateBoxSelection);

     

    Code for HideBoxSelection:

    PROCEDURE HideBoxSelection;
    
    VAR
    	H1, dummyH				:HANDLE; 
    
    
    BEGIN
    	Locus(0,0);
    	dummyH := LNewObj;
    	CallTool(-203);
    	h1 := NextObj (dummyH);
    	SetName(h1, 'MySelectionPolygon');
    	DSelectAll;
    	Hide(INSYMBOL & (LOC='MySelectionPolygon'));
    	DelObject(h1);
    	DelObject(dummyH);
    END;		
    
    Run(HideBoxSelection);

     

  7. Right now when using the 3D modelling tools, like for example the push-pull tool, it also works on 3D symbols. Turning the 3D symbol into a solid.. So we really have to check all the time if we are editing the 3D symbol. Otherwise you make it a solid by accident. An option to disable this, or a message saying that you are turning a 3D symbol into a solid would really help.

     

    Some illustrations

      

     Step 1 - 3x the same symbol 

    644089134_Step1.thumb.JPG.0f8ac6ffa010c90f8b9a9f703763c2ef.JPG

     

    Step 2. - using the push pull - but forget to open the symbol edit mode... oops, it turns into a solid..

    336857232_Step2.thumb.JPG.9184647d7b6e47c8dd6f03903b3977d1.JPG

     

    Step 3 - but this is what I wanted..

    1614695041_Step3.thumb.JPG.2064482280333ee5c14f5c7d8fdb4909.JPG

    • Like 2
  8. While editing a 3D symbol we often move the view around the object or change the render mode. But when you exit the edit mode the view orientation and render mode reverts back to what is was before the edit mode was opened. This a bit frustrating because you have to move the view again to what it was while in edit mode. Disrupting the workflow.. a lot.

    In all the programs we use (Revit/SketchUp etc.) when you exit a 'component'/'model group' the view stays at the same place. It would really help if VW adds the option to keep the view orientation and render mode after exiting the symbol edit mode. Like how it works right now when editing a group in VW.

     

    Illustration how it works right now:

    1111945119_Editing3dsymbol.thumb.jpg.9ae12c1944a463f547c581c9c4d4aec5.jpg

     

     

  9. This seems to work. Thanks again for the help!

     

    PROCEDURE Copy3DToWallHole;
    
    {*	Generate wall hole by 3D objects of a symbol
    	Developed by: Jesse Cogswell
    	Date: 17/7/2022
    	VW Version: 27 (VW2022)
    	Revisions:	17/7/2022	Added option to select symbols within symbols and symbols in wall - By Marcel Plomp
    				18/7/2022	Added reset of already placed instance of symbols in wall so the opening updates - By Marcel Plomp
    *}
    
    CONST
    
    	kSymbol = 15;
    	kWall = 68;
    	
    VAR
    
    	targetHd,H2,holeGroup	:HANDLE;
    	BSB						:BOOLEAN;
    	criteria 				:STRING;
    
    PROCEDURE ResetThem(Hd:HANDLE);
    BEGIN
    	ResetObject(GetParent(Hd));
    END;	
    
    FUNCTION Extract3DFromSymbol(sym:STRING) : HANDLE;
    
    {Extracts Non-planar objects from given Symbol Definition and returns handle to 3D Solid}
    
    	VAR
    
    		h,tempHd:HANDLE;
    		i,numSolids,result:INTEGER;
    		solids:DYNARRAY[] OF HANDLE;
    
    	BEGIN
    		numSolids:=0;
    		
    		h:=FInGroup(GetObject(sym));
    		WHILE(h<>NIL) DO
    			BEGIN
    				IF (GetObjectVariableBoolean(h,1160) = FALSE) THEN
    					BEGIN
    						numSolids:=numSolids+1;
    						ALLOCATE solids[1..numSolids];
    						solids[numSolids]:=h;
    						
    						h:=NextObj(h);
    					END
    				ELSE h:=NextObj(h);
    			END;
    		
    		IF (numSolids > 0) THEN
    			BEGIN
    				tempHd:=HDuplicate(solids[1],0,0);
    				FOR i:=2 TO numSolids DO
    					BEGIN
    						h:=HDuplicate(solids[i],0,0);
    						result:=AddSolid(tempHd,h,tempHd);
    					END;
    			END;
    		
    		Extract3DFromSymbol:=tempHd;
    	END;
    
    
    
    BEGIN
    	Locus(0, 0);					{ drop a bread crumb }
    	targetHd := PrevSObj(LNewObj);	{ use PrevSObj or PrevObj, as required }
    	DelObject(LNewObj);				{ remove bread crumb }
    
    	{ script to select symbol in wall }	
    	IF (GetTypeN(targetHd) = kWall) THEN
    		BEGIN
    			H2:=Fin3D(targetHd);
    				WHILE H2 <> NIL DO
    					BEGIN
    						IF Selected(H2) & (GetTypeN(H2) = kSymbol) THEN 
    						targetHd := H2;
    						H2:=NextObj(H2);
    					END; {while}
    		END;
    
    	{ if symbol is selected generate wall hole and refresh symbol }		
    	IF (GetTypeN(targetHd) = kSymbol) THEN
    		BEGIN
    			{ create new wall hole }
    			holeGroup:=Extract3DFromSymbol(GetSymName(targetHd));
    			BSB:=SetCustomObjectWallHoleGroup(targetHd,holeGroup);
    			
    			{ reset instances of symbol }
    			criteria := CONCAT('(InSymbol & (S=''', GetSymName(targetHd), '''))');
    			ForEachObject(ResetThem, criteria);
    			ReDrawAll;
    			
    			{ Beep when done }
    			SysBeep;		
    		END;
    END;
    
    
    Run(Copy3DToWallHole);

     

     

×
×
  • Create New...