TheSwamp

CAD Forums => CAD General => The Third Dimension => Topic started by: Mark on December 14, 2007, 08:19:01 AM

Title: EXTRUDE 3D polyline?
Post by: Mark on December 14, 2007, 08:19:01 AM
What I want to do is something like the extrude command only on 3D plines. What I'm trying to do is create buildings on my surface. I've got 3D plines around the structures but now I want to create the walls and roof.

any ideas?

thanks
Title: Re: EXTRUDE 3D polyline?
Post by: MP on December 14, 2007, 08:20:25 AM
Pic?

Edit: Or a sample dwg?
Title: Re: EXTRUDE 3D polyline?
Post by: SDETERS on December 14, 2007, 08:36:49 AM
What about add more 3D polylines and lofting between them?

Title: Re: EXTRUDE 3D polyline?
Post by: Mark on December 14, 2007, 08:41:43 AM
Here's a screen shot.

What I need is solid? walls. I can create 3D faces but that's rather time consuming.
Title: Re: EXTRUDE 3D polyline?
Post by: MP on December 14, 2007, 09:09:32 AM
If the bottom 3dpoly is planer why not just extrude it to the building's height? You could use the direction option to use the bottom and top 3dpoly's to indicate the height so you wouldn't have to type in the extrusion height.
Title: Re: EXTRUDE 3D polyline?
Post by: Josh Nieman on December 14, 2007, 09:17:33 AM
use "LOFT" selecting the "BASE" and "TOP as your two faces and leaving the rest of the options of the LOFT command at their default, let 'er rip.
Title: Re: EXTRUDE 3D polyline?
Post by: Josh Nieman on December 14, 2007, 09:19:14 AM
That's assuming you already have the "TOP" for all your buildings... if you don't, you can save the work by just using "extrude" (assumes that the bottom face is normal to the direction of extrusion [not sloped in relation to the direction you want to be 'up' when extruding]) and then enter the height of building, like MP said.

So long as the poly's are closed, it should work either way.
Title: Re: EXTRUDE 3D polyline?
Post by: MP on December 14, 2007, 09:26:53 AM
Any chance of getting a representative sample dwg with some notes Mark?
Title: Re: EXTRUDE 3D polyline?
Post by: Mark on December 14, 2007, 12:09:14 PM
Any chance of getting a representative sample dwg with some notes Mark?

knock your self out! I'm totally lost on this one. :-)
Title: Re: EXTRUDE 3D polyline?
Post by: Mark on December 14, 2007, 12:10:15 PM
when I try extrude ...

Code: [Select]
Command: extrude

Current wire frame density:  ISOLINES=4
Select objects: 1 found

Select objects:
Specify height of extrusion or [Path]: 20

Specify angle of taper for extrusion <0>:


Unable to extrude the selected object.
Title: Re: EXTRUDE 3D polyline?
Post by: Josh Nieman on December 14, 2007, 12:13:24 PM
Without seeing one of the 3dpoly's you're trying to extrude I don't know what I could tell you, personally.

It could be that the closed poly is not planar... I don't believe you can extrude a nonplanar profile.  If one point varies any in elevation from the rest of the planar points, it will fail... but I just tried that, and it would tell you that when you selected the profile... so that's not it for you.

I can think of a couple times that I've gotten that far in the command (showing sign that there SHOULD be no problem) and it's denied me, but I cannot recall what the problem (or sadly, the fix) was.
Title: Re: EXTRUDE 3D polyline?
Post by: Josh Nieman on December 14, 2007, 12:17:09 PM
I can't seem to replicate the problem.  Most of the things that come to mind would cause the command to fail when you select the profile.  So apparently your profile is good by all means.  Which means that for some reason the generation of the solid is where it fails.  When you are using the extrude command, do you see a preview of an extruded object that follows your cursor?
Title: Re: EXTRUDE 3D polyline?
Post by: deegeecees on December 14, 2007, 12:25:27 PM
All I could achieve is a Mesh.

3d>Mesh>(pick points)>2(m)>2(n)   For each vertex to vertex between each poly.

Not sure if it's what you're looking for though.
Title: Re: EXTRUDE 3D polyline?
Post by: MP on December 14, 2007, 12:29:03 PM
<Dang, posted too slow.Oh well, leaving post intact>

You can't extrude the bottom 3D pline because it's not coplanar. That is, all vertices do not reside on the same plane. This might be because each vertex (corner) represents a ground elevation rather than an idealized plane </guess>.

One quick (non programmed) solution is to set the coordinate system to WCS, and trace over the 3D Pline with a 2D pline, then extrude the 2D pline. Note that the first vertex you pick when creating the 2D Pline will define the z coordinate for all vertices that follow.

If you provide a sample with a greater number of samples it would be easier to suggest an automation route. I'm reluctant to pursue that route on the basis of two entities.

:)
Title: Re: EXTRUDE 3D polyline?
Post by: Mark on December 14, 2007, 01:15:14 PM
All I could achieve is a Mesh.

3d>Mesh>(pick points)>2(m)>2(n)   For each vertex to vertex between each poly.

Not sure if it's what you're looking for though.

that's better than anything I could come up with. :-)

thanks
Title: Re: EXTRUDE 3D polyline?
Post by: Mark on December 14, 2007, 01:17:46 PM
One quick (non programmed) solution is to set the coordinate system to WCS, and trace over the 3D Pline with a 2D pline, then extrude the 2D pline. Note that the first vertex you pick when creating the 2D Pline will define the z coordinate for all vertices that follow.
That's kinda what I did in the beginning but it leaves a gap some where on the surface.

Quote
If you provide a sample with a greater number of samples it would be easier to suggest an automation route. I'm reluctant to pursue that route on the basis of two entities.

Thanks for the offer Michael but there are only a few buildings in this model. Not a big deal. :-)
Title: Re: EXTRUDE 3D polyline?
Post by: deegeecees on December 14, 2007, 02:19:15 PM
All I could achieve is a Mesh.

3d>Mesh>(pick points)>2(m)>2(n)   For each vertex to vertex between each poly.

Not sure if it's what you're looking for though.

that's better than anything I could come up with. :-)

thanks

No problemo.
Title: Re: EXTRUDE 3D polyline?
Post by: SomeCallMeDave on December 14, 2007, 11:22:38 PM
Here is a quick (and Heineken soaked) routine that will draw 3d faces between the vertices of a selected base pline and the vertices of a copy of that bae pline copied a give distance in the z-direction (assuming all operations done in the WCS).

I'm not sure if this is what you are after, but maybe it will help.  It seems to work on the sample drawing (but not sure it will work on any others)

Code: [Select]

(defun c:3dPlto3dFace()
    (setq ent1 (car (entsel"\nSelect Base Pline: "))
          height (getreal "\nEnter Height: ")
          pt1 '(0 0 0)
          pt2 (list 0 0 height)
          maxVert (vlax-curve-getEndParam ent1Name)
          count 0
    );setq
   
    (command "copy" ent1 "" pt1 pt2)
    (setq ent2 (entlast))
   
    (repeat  (fix  maxVert )
      (setq pt10 (vlax-curve-getPointAtParam ent1 count)
            pt11 (vlax-curve-getPointAtParam ent2 count)
            pt12 (vlax-curve-getPointAtParam ent2(+ 1 count))
            pt13 (vlax-curve-getPointAtParam ent1 (+ 1 count))
            count (+ count 1)
            3dFaceList (list
                            '(0 . "3DFACE")
                            '(100 . "AcDbFace")
                            (cons 10 pt10)
                            (cons 11 pt11)
                            (cons 12 pt12)
                            (cons 13 pt13)
                       );list
       );setq
       (entmake 3dFaceList)
     );repeat
    (prin1)

 
)

Title: Re: EXTRUDE 3D polyline?
Post by: mjfarrell on December 15, 2007, 10:44:16 AM
Mark,


I might suggest that you use the surface command, or maybe even a grading feature to create your buildins as part of the surface style.  The easiest would be to use the Wall fault tool and build the wall from your feature line, the building would pop up out of the surface. Or use feature lines and the stepped offset tool.  Apply a surface style with your desired render properties when you do the surface from them.
Or extract the faces from the surface and apply materials afterward.

Heh, one could even use a corridor in a strange way to model a building......
Title: Re: EXTRUDE 3D polyline?
Post by: mjfarrell on December 18, 2007, 07:35:49 PM
I tested the above suggestions. The feature line method as a wall fault produced the easiest results. The corridor method has some promise but is far more complicated than worth.
Title: Re: EXTRUDE 3D polyline?
Post by: Jeff_M on December 18, 2007, 08:03:05 PM
Good suggestions, Michael, but he's not using C3D. In fact, I'm not even sure if he's using the LDD2004 as shown in his sig, since he seems to wanting to try the 3dface route.

Mark, If you can use LDD for this, go to the Terrain Menu, 3dpolylines, and use the Create Curb. You must use an offest, but an offset of 0.001 works just fine. The polyline tools could then be used to create your roof as well. Then all you need do is add these to your surface as breaklines. Basically what MJF was suggesting with the LDD tools instead.