Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Best way to 3D ID and OD threads in AutoCAD 2004?

Status
Not open for further replies.

Jay2004

Mechanical
Jul 24, 2004
4
What is the easiest way to create OD and ID threads with AutoCAD2004? I have no problems with most 3D things, but have problems with this. I am somewhat new AutoCAD 3D. I have used SolidWorks for the most part. Thanks for any help that you might be able to provide!

Jay
 
Replies continue below

Recommended for you

Hello Jay2004
There is no easy way to build threads. One suggestion on OD threads, you can build a closed 2D shape that can be extruded along a helix path to create a 3D model OD threads. This is path option on the EXTRUDE command. Note that the plane at the end of the extruded object is perpendicular to the path and the length of the extrusion is the same as that of the path and one of the endpoints should be on the plane of the object to be extruded. On ID threads, you can build the thread pattern and use the REVOLVE command to create solids using closed shapes that will include your thread pattern. This is alot easier using a graphic parametric program like solidworks or Pro/E. Hope this helps - John
 
Thanks for the information. I have been using SolidWorks for just that reason. I was just wondering if there was an easier way to get there using Autocad.

Thank you for your time!
 
Since you are already a user of Solidworks, why not use Solidworks Xchange to insert a Solidworks drawing in Autocad. Hope this helps.

Regards,

Mark
 
I found this in this forum, I think. I wish I could give proper credit, but I can't find where I got it. It's not a true thread profile, but not too bad. Use as is for external threads, or subtract from a solid for internals.

(defun c:3dthd ( / nom pitch length cpt total pt1 pt1z pt2 pt3 ang pt1a pt1az pt3a pt1b pt1bz pt3b pt4 pt4 pt6 pt7 pt8 pt9 pt10 pt11 pt12 ss osm)

;-------------------------------------------------------------------
; Gets the nominal size, tpi, and total length
; then calculates a bunch of geometry points.
; All running osnaps are turned off as well.
;-------------------------------------------------------------------

(setq nom (getdist "\nNominal size: ")
pitch (/ 1.0 (getreal "\nThreads per Inch: "))
length (getdist "\nTotal thread length: ")
cpt (getpoint "Center point: ")
total (+ (fix (/ length pitch)) 2)
pt1 (list (- (car cpt) (/ nom 2.0)) (cadr cpt))
pt1z (list (- (car cpt) (/ nom 2.0)) (cadr cpt) 1.0)
pt2 (polar pt1 (/ (* 30.0 pi) 180.0) 0.1)
pt3 (list (+ (car pt1) nom) (+ (cadr pt1) (/ pitch 2.0)))
ang (angle pt1 pt3)
pt1a (polar pt1 (+ ang (/ pi 2.0)) pitch)
pt1az (list (car pt1a) (cadr pt1a) 1.0)
pt3a (polar pt1a ang nom)
pt1b (polar pt1 (- ang (/ pi 2.0)) pitch)
pt1bz (list (car pt1b) (cadr pt1b) 1.0)
pt3b (polar pt1b ang nom)
pt4 (polar pt3 (/ (* 150.0 pi) 180.0) 0.1)
pt5 (inters pt1 pt2 pt3 pt4 nil)
pt6 (list (car pt5) (cadr cpt))
pt7 (polar pt1 (/ (* 330.0 pi) 180.0) 0.1)
pt8 (polar pt3 (/ (* 210.0 pi) 180.0) 0.1)
pt9 (inters pt1 pt7 pt3 pt8 nil)
pt10 (list (car pt9) (cadr pt3))
pt11 (polar cpt (/ pi 2.0) pitch)
pt12 (polar pt11 (/ pi 2.0) length)
osm (getvar "osmode")
)
(setvar "osmode" 0)

;-------------------------------------------------------------------
; Draws two cones which are inverted and offset 1/2 the pitch.
; The cones are each sliced at the angle of the crest line
; and then unioned together
;-------------------------------------------------------------------

(princ "\nCreating thread...this might take a while.")
(command "pline" pt1 pt5 pt6 "c")
(command "revolve" "l" "" pt5 pt6 "")
(command "slice" "l" "" pt1 pt3 pt1z pt5)
(command "slice" "l" "" pt1a pt3a pt1az pt3)
(setq ss (ssadd (entlast)))
(command "pline" pt3 pt9 pt10 "c")
(command "revolve" "l" "" pt9 pt10 "")
(command "slice" "l" "" pt1 pt3 pt1z pt9)
(command "slice" "l" "" pt1b pt3b pt1bz pt3)
(setq ss (ssadd (entlast) ss))
(command "union" ss "")

;-------------------------------------------------------------------
; This above solid is sliced in half and then mirrored. This
; creates the "helix" in the thread. The height of the single
; thread is actually equal to twice the pitch, but the
; excess is either absorbed or cut off in the last step
;-------------------------------------------------------------------

(command "slice" ss "" "xy" cpt "b")
(setq ss (ssadd (entlast) ss))
(command "mirror" "l" "" pt1 "@10<0" "y")
(command "union" ss "")

;-------------------------------------------------------------------
; The thread is arrayed and then unioned together (this part can
; take a while). The resulting solid is cut to the specified length.
;-------------------------------------------------------------------

(setq e (entlast))
(command "array" ss "" "r" total 1 pitch)
(repeat (1- total)
(setq e (entnext e)
ss (ssadd e ss)
)
)
(command "union" ss "")
(command "slice" "l" "" "zx" pt11 pt12)
(command "slice" "l" "" "zx" pt12 pt11)
(princ "\nDone")
(setvar "osmode" osm)
(princ)
)
 
I've not found a good 3D-THD lisp file. In ACAD 3D, a swept profile follows a 3D-Pline Helix, starting at a plane normal to the starting segment of the 3D Pline, and sized in a conventional way using major & minor thd dias, thread profile, etc.

A short-cut method I've used with great success is to simply create an accurate profile of the entire thd, and revolve it around the CL of the thd'd hole, or the CL of the bolt. High degrees of accuracy can be achieved with this method, especially with the nature of the data we're forwarding to the machine shop and the FAB shop, in the extracted detail drawings. You lose the fact that the model as displayed isn't a true helix, but you lose visibility of the helix anyway, at any normal zoom, and the resulting visual representation of this thd'd feature is easily as "realistic" as the best you'd get with any helical representation.

Another benefit is that the "weight" of a simple revolved profile is far less than a fully developed helical calculation. Even the uncredited lisp routine offered above warns that "...this may take awhile." Now don't get me wrong , the routine runs well and delivers on its promise, but the system and model "price" is a bit high for my tastes.

Another method I've used with great success is to accurately model the hole at the minor dia of the THD (or the bolt at the "Major"), with hole-in and hole-out treatments represented (Chamfers, clean-ups, reliefs, etc). I'll sometimes take this a step farther by assigning the ID of the "THD" surface with some standardized color adopted to mean "Threaded Hole" at a glance. No thread form (beyond the in- and out- treatments) is represented. This is the "Lightest" method I've found for representing thd'd holes in a part, and represents the thd'd hole well at ANY zoom ! A color convention I've used has the ID surface the same "color" as the rest of the part, just one shade-step darker. Doesn't sound like much, but you'd be surprised at how well threaded holes stand out from un-threaded holes in shaded and even rendered representations. Or you can pick a standard "Threaded Hole Color".

A nearly "Inventor"-like approach is to attach a bit-map of properly developed thread form to the I-D surface, for "Renders". You'd be pleased with the results!

Mention that all of this is better handled by S.W. is right on. The translated model even works very well. Basic 3D ACAD works VERY WELL within its limits, and often returns much more value for the investment, UNTIL you determine it no longer meets your productivity needs. BTW, have any of you seen Inventor? I was AMUSED at how they handle this question !!! Take a close look at the Inventor-9 cross section of any UNC or UNF threaded Hole. Which thd "hand" is being represented by a Rt-Hand thd'd hole properly set up ?!?

Anyway, good luck !

C. Fee
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor