Jump to content
David O

Path Extrusion in Layers with offset elevations

Recommended Posts

Hello VS folks !

 

Sometime ago i implemented a tool (vst) that applied a path extrusion using some profile libraries for a customer...

Using:

createcustomobjectpath('Extrude Along Path', hNURBsPath, hperfil);

 

And the result is perfect ! However, we found a weird behavior happening when we try to use this tool in a layer with an elevation different then zero.

When i try to use the tool in any layer with elevation different then zero, the resulted path extrusion follows a completely different path.

Trying to fix this behavior i tried to use   SetLayerElevation(ActLayer, 0.00, 0.00);

Before the call to createcustomobjectpath('Extrude Along Path', hNURBsPath, hperfil);

It fixes the problem ... however, only if i leave the elevation of the layer at 0.00

If i try to call SetLayerElevation() to restablish the original elevation (after the call to createcustomobjectpath()) the result is an incorrect path again...

 

Any ideas ?

Share this post


Link to post

What do you mean by the profile object takes an entirely different path? Can you show us images? Can you post a small test file with copies of the extrudes on layers with different elevations?

 

It will be much easier and better to try and troubleshoot your objects than to try and create an object that duplicates the problem.

Share this post


Link to post

How are you getting hNURBsPath? If you are drawing as a 2D path or using a 2D profile group, this may help:

 

SetPlanarRefIDToGround(hPoly);
hNURBsPath:=ConvertToNURBS(hPoly, TRUE);

 

Share this post


Link to post

Follows attach a .vst which has just a part of the function i use in my plug-in to apply the Path Extrude

I'm attaching also a .vwx that shows the behavior mentioned...

 

To reproduce:

After loading the vst in there interface... 

- Open the document, execute the tool and draw a path on the top of the extruded polygon ...

The tool applied profile in a path extrude modeled without problems...

Delete the path extrude model

 1539529201_ScreenShot2019-07-30at20_20_43.thumb.png.29c6f7d87df64c39a79c929e9921fc3c.png

 

- Change the layer to "Level 1" (which is 300cm above Level 0)

Execute the tool again... and draw the path again using the same reference points over the extruded polygon

See the  result

369660252_ScreenShot2019-07-30at20_21_24.thumb.png.9562b301d3e5de4da8ea7e97c20e7d77.png

 

Border Aplication TEST File.vwx

Aplic Perfis TST.vst

Share this post


Link to post

Answering

6 hours ago, JBenghiat said:

How are you getting hNURBsPath? If you are drawing as a 2D path or using a 2D profile group, this may help:

 


SetPlanarRefIDToGround(hPoly);
hNURBsPath:=ConvertToNURBS(hPoly, TRUE);

  

 

I'm using CallTool (-313) to call 3D Polygon to draw the path ... inside the tool. And it works perfectly ... except of the fact it displace things when the layer has an elevation as mentioned ... 

 

Tsk 

Share this post


Link to post

Make sure that the profile object is a group as in:

 

BeginGroup;

    profileObjects

EndGroup;

profileHdl:= LNewObj;

 

I have not come up with the offset elevation problem because I do keep the insertion point at 0 elevation for all PIOs. However, I do have to place the PIO at the same elevation as the terrain model. Rather than change the layer elevation , I move the entire object to the desired elevation as in:

 

        PROCEDURE SetElev(objHdl: HANDLE; org3Dz,elev: REAL);
        VAR
            dz: REAL;
        BEGIN
        dz:= elev - org3Dz;
        IF dz <> 0 THEN
            BEGIN
            Move3DObj(objHdl,0,0,dz);
            ResetObject(objHdl);
            END;
        END;


I did have a problem at one time with the change in elevation not showing so I had to add the ResetObject to fix it.

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×
×
  • Create New...