Monday 25 February 2008

solid nut head ????? ...

????????????????????? ?????????????????????????..
?????????????????? ???????????????????? ??????????..
??lsp file ?????? error ??????????? ..
????????? ?????????? ??..????..??????? ????????????????
List ??????? ????????????????...
?????????????????????????????..
???????????????????????????????????....
???????????????? ??????????? ??????????????? select all ??? ??????????????????....
?????? code ?????? notepad ???????????????????? nuth.lsp ????????????????? run ???????...

??? ???????????????? ???????????? ???????????????..

(defun C:nuth()
(setvar "cmdecho" 0)
(setq r (getdist "\nEnter Nut Radius: "))
(setq h (getdist "\Enter Nut Height: "))
(command "polygon" "6" "0,0,0" "c" r)
(command "extrude" "l" "" h "")
(command "circle" "0,0,0" r "")
(command "extrude" "l" "" "t""-45" h "")
(command "intersect" "all" "")
(command "-view" "_swiso" "")
(setvar "cmdecho" 1)
(princ)
)

??????? ??????????????????????????? ???????????????? Program ??...
(defun C:mynuth()
(setq cmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq osmode (getvar "osmode"))
(setvar "osmode" 0)
(setq Radius (getreal "Enter Radius of Nut: "))
(setq Height (getreal "Enter Height of Nut: "))
(setq HoleDiameter (getreal "Enter Diameter of hole of the Nut:"))
(setq Sides (getint "Enter the number of sides of the nut:"))
(setq NutCenter (getpoint "\nPick the center point of the Nut:"))
(setq Z_NutCenter (caddr NutCenter))
(setq CenterPointUpperCircle (list (car NutCenter) (cadr NutCenter) (+ Z_NutCenter Height)))

(command "_.Polygon" Sides NutCenter "C" Radius)
(setq Polygon (entlast))
(command "_.circle" NutCenter Radius)
(setq CircleLower (entlast))
(command "copy" CircleLower "" NutCenter CenterPointUpperCircle "")
(setq CircleUpper (entlast))
(command "_.extrude" Polygon "" Height)
(setq Polygon (entlast))
(command "_.extrude" CircleLower "" "t" -45 Height)
(setq CircleLower (entlast))
(command "_.extrude" CircleUpper "" "t" -45 (* Height -1))
(setq CircleUpper (entlast))
(command "_.intersect" Polygon CircleLower CircleUpper "")
(setq FilledNut (entlast))
(command "_.circle" NutCenter "d" HoleDiameter)
(setq Hole (entlast))
(command "_.extrude" Hole "" Height)
(setq Hole (entlast))
(command "_.subtract" FilledNut "" Hole "")

(setvar "cmdecho" cmdecho)
(setvar "osmode" osmode)
;(command "_.zoom" "extent")


)

????????????????
??????????

No comments: