jameskobe1 Posted May 3, 2019 Share Posted May 3, 2019 Good day to all. I need some help. I kno how to draw a helix in 3d (circular). But is there a way to draw a square or rectangular spiral? Thank you very much for your help. Quote Link to comment Share on other sites More sharing options...
BIGAL Posted May 3, 2019 Share Posted May 3, 2019 Yes you need a 3d path a 3dpline you would need to write a program to work out the x,yz of the points maybe use excel ? What you have asked for is a stair hand rail. Quote Link to comment Share on other sites More sharing options...
lrm Posted May 3, 2019 Share Posted May 3, 2019 Not clear on what you want. Would sweeping a square or rectangle along a helix meet your requirements? If not, could you clarify? Note, I thought I knew the difference between a helix and a spiral but a quick search found different results including the following: As nouns the difference between helix and spiral is that helix is (mathematics) a curve on the surface of a cylinder or cone such that its angle to a plane perpendicular to the axis is constant; the three-dimensional curve seen in a screw or a spiral staircase while spiral is (geometry) a curve that is the locus of a point that rotates about a fixed point while continuously increasing its distance from that point. I think you are interested in a 3D helix and not a spiral. Quote Link to comment Share on other sites More sharing options...
jameskobe1 Posted May 7, 2019 Author Share Posted May 7, 2019 thanks for the reply guys and sorry for my vague question. i found out how to do it by using the 3d poly . what i'm trying to do is make a pattern similar to spiral but the pattern is rectangular whereas in spiral it is circular. and 3d poly solve my problem. Quote Link to comment Share on other sites More sharing options...
steven-g Posted May 7, 2019 Share Posted May 7, 2019 A square spring! I use individual lines (in a square) then alter the Z value of the individual ends of the lines in the properties palette, once you have the 4 lines touching end to end (except the start/end points of course) then the "join" command will create a 3Dpolyline for you, then you can use the copy command to stack up the spring, again using the "join" command when it is tall enough. I use this technique to create 3D printer tool paths so it is often a more complicated outline than a square, but it removes the problem of the printer head crossing over existing printed lines, dragging the object free from the print bed (a common problem for 3D prints). In my case, I use a fraction of a millimeter height difference between line ends, the advantage is that you can select individual lines rather than trying to get at the correct vertex and after one circuit all you then need do is copy-paste using the start and end points. Quote Link to comment Share on other sites More sharing options...
BIGAL Posted May 8, 2019 Share Posted May 8, 2019 (edited) It should be easy using a pline just ask what is rise required and how many turns then just recreate using the vertice of the plines.Obviously a lisp or steven your expertise with excel. Just thinking about the shape to be sqaure to start of 3dpoly. Tested using polygon 22 sided etc. ; Convert pline to a 3d spiral ; By Alan H May 2019 (defun C:plspiral ( / ent num rise x lst pt oldsnap) (setq oldsnap (getvar 'osmode)) (setq ent (entsel "pick Pline")) (if ent (setq co-ords (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget (car ent)))))) (if (not AH:getvalsm)(load "Multi Getvals.lsp")) (setq ans (AH:getvalsm (list "Spiral pline" "How many turns" 5 4 "3" "Vertice increment height" 5 4 ".25" ))) (setq num (Atoi (nth 0 ans))) (setq rise (atof (nth 1 ans))) (setq lift 0.0) (setq lst '()) (repeat num (setq x 0) (repeat (length co-ords) (setq pt (nth x co-ords)) (setq pt (list (car pt) (cadr pt) lift)) (setq lst (cons pt lst)) (setq x (+ x 1)) (setq lift (+ lift rise)) ) ) (setq lst (reverse lst)) (setvar "osmode" 0) (setq x 0) (command "_3dpoly") (while (= (getvar "cmdactive") 1 ) (repeat (length lst) (command (nth x lst)) (setq x (+ x 1)) ) (command "") ) (setvar 'osmode oldsnap) (command "vpoint" "1,1,1") (princ) ) (c:plspiral) Multi GETVALS.lsp Edited May 8, 2019 by BIGAL Quote Link to comment Share on other sites More sharing options...
BIGAL Posted May 10, 2019 Share Posted May 10, 2019 Jameskobe1 its your turn now ! i did a take a pline shape and turn it square to the rising line and extrude as an extra but with no responses have kept it. Quote Link to comment Share on other sites More sharing options...
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.