xiangzanyang 发表于 2011-7-7 23:58:41

本人刚学LISP,做的小程序

本帖最后由 xiangzanyang 于 2011-7-8 00:02 编辑

求两圆公切线的小程序,请大家看看!我想请问一个问题,怎么把在最后把LISP编出的图型变成块啊,我用(command "block" neiqie "w" a "")怎么不行啊!block命令要怎样用呢!

zhynt 发表于 2011-7-8 00:10:12

还是定义成命令使用较方便
即将(defun neipie ()......)改成(defun c:neiqie ()......)

ZZXXQQ 发表于 2011-7-8 09:27:42

mandala 发表于 2011-7-8 09:33:24

;;子程序,将一个选择集中的物体原地制成匿名块。
;;参数:ss:选择集。
;;例:(makeblock (ssget))

(defun makeblock (ss / holdecho holdblip a blkref)
(setq holdecho (getvar "cmdecho"))
(setq holdblip (getvar "blipmode"))
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq a (rtos (* (getvar "CDATE") 1E8)))
(command "_.BLOCK" a "0,0" ss "")
(command "_.INSERT" a "@" "" "" "")
(setq blkref (vlax-ename->vla-object (entlast)))
(vla-put-name
    (vla-item (vla-get-blocks
    (vla-get-activedocument (vlax-get-acad-object))
      ) ;_ 结束vla-get-blocks
      (vla-get-name blkref)
    ) ;_ 结束vla-item
    "*U"
) ;_ 结束vla-put-name
(vlax-release-object blkref)
(setvar "blipmode" holdblip)
(setvar "cmdecho" holdecho)
(command "_.undo" "_end")
(princ)
) ;_ 结束defun

页: [1]
查看完整版本: 本人刚学LISP,做的小程序