I'm looking for a way to do the equivalent of an "up to next" extrusion, but starting from a point rather than a plane. For some reason I can't insert my image of what I want to do so I'm attaching it instead. Basically the goal is to illustrate a shadow (of a more complicated object) from a point source. Ideally I want to end up with the negative of this, but either way, I need to figure out a way to get there. This drawing was actually done in reverse, creating a sphere, extruding a cut with a large negative draft so it came to a point at the center, reducing the length of the extrusion, then converting the square surface and making the cube. However, that's only to illustrate the concept. What I want is the ability to create the cube (or any shape object) and then create the radial extrusion that would stop when it hits a surface. That would leave a negative image of the shadow of the object. Alternately if there was a direct way to create the shadow, that would work too. It's almost like a mold part, but the separation line and draft would need to be automatic based on the desired point.
Any suggestions on how to bend Solidworks to my will here would be greatly appreciated. Note that I CAN use Photoview to project a "real" shadow on the surface of a hemisphere, but that becomes a flat circle and can't be manipulated. It also requires removal of other objects that I want in the drawing but don't want to have cast a shadow.
Thanks,
Michael
So after crashing Solidworks hundreds of times in the process, I have managed to create a macro that runs (relatively) fast and will create a single surface/solid on a specified spherical grid. Thus, the shadow shape is defined by the resolution of the grid rather than the actual edge of the object. Still, for my application this will work.
Because this is a uniform angular grid in spherical coordinates, the faces near the poles are much higher resolution than those near the equator. I may eventually work on a uniform grid approach, but those are a real pain to design and tessellate.
The only thing I'm not happy about is that I am currently having to just run the radial shadow between two spherical surfaces (i.e. two different radii) because there's apparently a bug in the API call to get intersection points when the body/feature is imported. It works fine for native Solidworks features, but not for the stuff I want to test. The ray hit test works fine on imported bodies, but that doesn't return the position of the hit. (Why not is beyond me!) Instead, once you know you have hit something, you then have to repeat the process with the intersection call to find all of the intersections (not just the first one that the ray hit gave) in a list. Then you have to find the right one. However, if the body is imported, the intersection function comes back with zero intersections, even though the ray select function found it just fine. Bummer. Still, on a fine enough grid, you can't really see it when the object is there, but if you turn the objects off, it looks ugly.
Thanks,
Michael