karstenwolfGL Posted November 16, 2023 Share Posted November 16, 2023 Our workflow is entirely Layer plane based so I have very limited experience with screen plane workflows. An issue I'm getting stuck on right now seems to involve the screen plane. I have a plugin that has 2D text and Polylines as well as 3d geometry using vs.BeginXtrd, vs.Symbol, and vs.SymbolToGroup. This works great, Text and 2D polylines show only in Top/Plan and 3D geometry only shows in 3D. I'm now going through and removing the need for the symbols by trying to model them instead. Once I add the following lines all my 2D objects become screen planar and show in 3D views; as well as all my 3D objects show in top/plan. vs.Oval(-12,12,12,-12) vs.CreateTaperedExtrude(vs.LNewObj(), 15, 9) vs.SetPlanarRef(vs.LNewObj(), -1) If I try the same lines with vs.CreatTaperedExtrd2, the 2D objects don't become Screen Planar, but the newly created tapered extrude is visible in 2D top/plan without vs.SetPlanarRef. Any guidance on what's going on and how to work around it without needing to effectively use/test vs.SetPlanarRef on every 3D object? Quote Link to comment
JBenghiat Posted November 16, 2023 Share Posted November 16, 2023 A number of potential issues, and some confusion about your description. Screen plane objects don’t appear in 3D views. The only place where you will currently find screen plane objects is in hybrid symbols and PIOs, and because you only see the 2D component in top/plan, you aren’t really aware of the screen plane. If you are seeing a planar object in a 3D view, it’s in the layer plane or another 3D plane. CreateTaperedExtrude appears to be essentially deprecated. Use CreatTaperedExtrd2. Just going by memory, but I believe that when you create an extrude, the profile becomes part of the extrude without creating a duplicate. I believe what you are seeing is the object not having a 2D component, so you are only seeing the 3D in both views. SetPlanarRef only works on 2D objects ( the 3D object exists in non-planar space). Because the extrude call returns a handle, it’s possible that LNewObj() still refers to the oval. In the PIO code, all planar objects get created in the screen plane, so an extrude will give the object depth from the current view. Therefore, you DO need to set the planar ref (usually the layer plane) for all planar objects BEFORE extruding. HTH Quote Link to comment
Recommended Posts
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.