3dThread.LSP
CADForums.net Forum Index CADForums.net
Discussion of AutoCAD and other CAD software.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web cadforums.net
3dThread.LSP

 
Post new topic   Reply to topic    CADForums.net Forum Index -> AutoCAD
Author Message
Alan
Guest





Posted: Tue Feb 15, 2005 4:46 am    Post subject: 3dThread.LSP Reply with quote

Can anyone send me the 3dThread LSP routine to lasermst (at) i1.net. I have
done a search for this in the customers files and the search does not find
anything.

Back to top
KDC Consulting
Guest





Posted: Tue Feb 15, 2005 6:30 am    Post subject: Re: 3dThread.LSP Reply with quote

Try thread.lsp and 3dspiral, I've not seen 3dthread.lsp.

"Alan" <Alan@Here.com> wrote in message news:4211390f_3@newsprd01...
Quote:
Can anyone send me the 3dThread LSP routine to lasermst (at) i1.net. I
have
done a search for this in the customers files and the search does not find
anything.

Back to top
Adesu
Guest





Posted: Wed Feb 16, 2005 6:07 am    Post subject: Re: 3dThread.LSP Reply with quote

Hi Alan,try this may be can help you


;-------------------------------------------------------------------
; THREAD.LSP Creates 3D solid (ACIS) threads. 3/3/98
;
; Corrected 3/4/98
; Corrected again 3/6/98
;
; written by: Jim Fitzgerald
;
; Credit goes to Bernd Hoffmann and Ken Shearron for showing
; me this modeling technique and helping me spot
; some bugs.
;
;-------------------------------------------------------------------
;
; This is a way to make 3D solid external threads in
; AutoCAD R13 and R14. Just so you know, it's not
; geometrically correct, but it's pretty darn close.
; There is no error trapping or anything like that.
;
; You are prompted for the Nominal thread size
; (actual size like .190 or .112, not #10, #4, etc..),
; threads per inch (tpi), the total length of the thread, and a
; center point. The program works by creating a single thread
; and then arraying it out to the proper length. The threads are
; drawn a little long and then sliced off to the correct length.
; This program only draws the thread, you're on your own drawing
; the rest of the screw. For internal threads, just subtract this from
; another solid.
;
; Note, the threads created by this can make for some rather big files,
; so make sure your system is up to it. Also, it might take a while
; to union all of the single threads together so be patient.
;
;-------------------------------------------------------------------
; This is freeware. Do what you want with it. If you modify it,
; please take my name off of it so I don't have to support your
; software.
;
; All the typical legal stuff applies. I make no claims that
; this actually works. Use it at your own risk. You can't sue me
; for any problems that you have as a result of using this
; (either personal or professional). Don't drink and
; drive. Eat your vegetables, and call your mother.
;-------------------------------------------------------------------

(defun c:thread ( / nom pitch len 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: "))
len (getdist "\nTotal thread length: ")
cpt (getpoint "Center point: ")
total (+ (fix (/ len 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) len)
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)
)

Alan <Alan@Here.com> wrote in message news:4211390f_3@newsprd01...
Quote:
Can anyone send me the 3dThread LSP routine to lasermst (at) i1.net. I
have
done a search for this in the customers files and the search does not find
anything.



Back to top
Anne Brown
Guest





Posted: Wed Feb 16, 2005 8:03 pm    Post subject: Re: 3dThread.LSP Reply with quote

Alan,

For future lisp questions, you may find more information or
responses by posting future lisp/customization related questions
in the following discussion group:

Web browser:
http://discussion.autodesk.com/forum.jspa?forumID=130
Newsreader:
news://discussion.autodesk.com/autodesk.autocad.customization
---
Anne Brown
Discussion Groups Administrator
Autodesk, Inc.

Alan wrote:
Quote:

Can anyone send me the 3dThread LSP routine (snip)
Back to top
Alan
Guest





Posted: Wed Feb 16, 2005 9:03 pm    Post subject: Re: 3dThread.LSP Reply with quote

Thanks,

This is what I was looking for.
--
Back to top
 
Post new topic   Reply to topic    CADForums.net Forum Index -> AutoCAD All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Windows Server DSP VoIP Electronics New Topics
Powered by phpBB