- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
I need the shadow sheet of a solid body
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-10-2011 08:13 AM
Hi all,
I need the parallel projection of an arbitrary solid body into an arbitrary plane.
Holes in the body that would let the projection light pass thorough should yield in hooles in the shadow sheet.
Is there any api that can do the job?
Or does anyone know a good advice how to make this work?
Regards, Robert
Re: I need the shadow sheet of a solid body
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-10-2011 01:10 PM
Hello Robert,
One way to do this is use PHLV5 to get the silhouette edges of the solid, project/sweep the edges to the plane and then remove the unwanted edges.
Regards,
Yogesh
Re: I need the shadow sheet of a solid body
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-24-2011 08:28 AM
Hello Yogesh,
ok, i began to use phlv5 for it. But i found some points that make me trouble:
From api_phlv5_compute i get a lot of PHLV5_EDGE's. Now i want to isolate the silhouette edges. Thereby i discovered that there are obviously Edges with thier segment having the state of PHLV5_SEGMENT_OUT and the visibility of PHLV5_SEGMENT_HID which seems contradictory to me. How is that possible?
Furthermore with a torus body i would expect to get at most two PHLV5_EDGES from api_phlv5_compute. But in fact i get more than that desribing exactly the same silouhette several times. What is the reason for that?
Another thing is that i want to have finally a sheet body. Therefore i project all the silhouette edges into the plane and create a sheet body out of them. I use api_make_ewires() to create wires out of the edges and then i use api_cover_wire_loops() to create a sheet body. But that doesn't always work. I think i would have to find the wire for the peripheral loop and place it in the front of the array that's being passed to api_cover_loops and the internal loops should have a reversed sense from the peripheral to make them create holes in the sheet. But maybe there is a better api to use for creating a sheet body out of the projected edges.
Any help or advice will be appreciated,
Regards, Robert
Re: I need the shadow sheet of a solid body
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-29-2011 03:38 PM
The meaning of PHLV5_SEGMENT_OUT has nothing to do with hidden or visible. It is the state in which the surface normals across an edge are changing from pointing to the camera to pointing away from the camer, or vice-versa. The applies to ACIS EDGES and silhouettes in the interior of curved surfaces. In a liberal definition of silhouette, and ACIS EDGE could be a silhouette. For instance, when an ACIS EDGE is shared by a planr face whose normal points to the camera, and the other faces's normal points away from the camera, that edge is labels as PHLV5_SEGMENT_OUT. When the normals on either side of the edge (ACIS EDGE or sihouette) are pointing to the camera, or both are pointing away from the camera, that state is labeled PHLV5_SEGMENT_INN. So, this describes a very, very loacalized geometric state. It labels the segment as a silhouette, whiether it lies in the interior of a face such as a sphere, or lies on an ACIS EDGE, such as a block where we can see one face but not the other.
Any periodic is split first (and restored to a whole face after the API call). So a torus is first split into four faces. Also, when looking at a torus (donut shaped, not apple or lemon shaped), and using the iso view, the hole of the torus has four silhouettes. This leasve the possibility of up to 12 segments. There should not be any overlaps.
Your last question probably should be addressed by someone more knowledgable in covering.
Re: I need the shadow sheet of a solid body
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-07-2011 10:22 AM
Hi
Thanks for the answers. They helped me much to understand better what is meant with PHLV5_SEGMENT_OUT. Futhermore i discovered that using api_cover_planar_wires doesn't have any problems when some of the wires are overlapping or coincident.
But there is still one big problem: Let's assume i have a PHLV5_EDGE with the visibility VIS and the state OUT. How can i determine whethter there is any solid material behind it?
At first i thought i could just take a look from the opposite direction. But it turned out that when an edge is hidden by solid material and another edge at the same time it gets classified as OCC.
So i have no possibility to know if an edge is part of the shadow's shape. But i need these informations to get the outermost circuit of edges for creating a sheet body.
Obviously the phlv5 doesn't provide these informations (or do they?).
Has anybody an idea how to determine whether an edge is hidden by solid material?
thx

