本帖最后由 htlaser 于 2021-10-30 14:22 编辑
 - (defun c:kk5 (/ acaddocument acadobject currlinetype d found l layerobj layersel linetypesel mspace polyline pt pta ptb ptc ptd pte ptf ptg pth ptns sc utility)
- (VL-LOAD-COM)
- (setq AcadObject (vlax-get-acad-object)
- AcadDocument (vla-get-ActiveDocument AcadObject)
- mSpace (vla-get-ModelSpace AcadDocument)
- Utility (vla-get-Utility AcadDocument)
- )
- (setq layerSel (vla-get-Layers AcadDocument))
- (setq layerObj (vla-add layerSel "Hole"))
- (vla-put-Color layerObj "4")
- (setq currLinetype (vla-get-ActiveLinetype AcadDocument))
- (setq found :vlax-false)
- (setq LinetypeSel (vla-get-Linetypes AcadDocument))
- (VLAX-FOR entry LinetypeSel
- (if (= (vla-get-Name entry) "CENTER2")
- (setq found :vlax-true)
- )
- )
- (if (= found :vlax-false)
- (vla-load LinetypeSel "CENTER2" "acad.lin")
- )
- (vla-put-ActiveLinetype AcadDocument currLinetype)
- (setq sc 0.4)
- (princ "\n绘制画长圆孔 ")
- (progn
- (if (= record2 nil)
- (setq record2 13)
- )
- (princ (strcat "\n孔径大小<" (rtos record2 2 2) ">: "))
- (setq d (getreal))
- (if (= d nil)
- (setq d record2)
- )
- (setq record2 d)
- (if (= record3 nil)
- (setq record3 45)
- )
- (princ (strcat "\n长圆孔的长度<" (rtos record3 2 2) ">: "))
- (setq l (getreal))
- (if (= l nil)
- (setq l record3)
- )
- (setq record3 l)
- (setq pt (getpoint "\n请输入插入点:"))
- (setq
- pta (list (- (car pt) (/ (- l d) 2)) (+ (cadr pt) (/ d 2)) 0)
- )
- (setq
- ptb (list (+ (car pt) (/ (- l d) 2)) (+ (cadr pt) (/ d 2)) 0)
- )
- (setq
- ptc (list (+ (car pt) (/ (- l d) 2)) (- (cadr pt) (/ d 2)) 0)
- )
- (setq
- ptd (list (- (car pt) (/ (- l d) 2)) (- (cadr pt) (/ d 2)) 0)
- )
- (setq pte (list (- (car pt) (/ l 2) (/ d 2)) (cadr pt) 0))
- (setq ptf (list (+ (car pt) (/ l 2) (/ d 2)) (cadr pt) 0))
- (setq ptg (list (car pt) (+ (cadr pt) d) 0))
- (setq pth (list (car pt) (- (cadr pt) d) 0))
-
- (setq ptns nil)
- (setq ptns (vlax-make-safearray vlax-vbDouble '(0 . 14)))
- (vlax-safearray-fill ptns (append pta ptb ptc ptd pta))
- (setq PolyLine (vla-AddPolyline mSpace ptns))
- (vla-put-layer PolyLine "Hole")
- (vla-SetBulge PolyLine 1 -1)
- (vla-SetBulge PolyLine 3 -1)
- )
-
- (princ)
- )
修改一下 有两个是全局变量
|