CAD LSP程序问题

CAD LSP程序问题,第1张

对你卖手的修改如下:

(defun c:2CIRCLE

()

(setq CEN (list 0 0)

RAD 50)

(command "哪配搏CIRCLE" CEN RAD "李祥" )

(command "CIRCLE" CEN (+ RAD 30) "")

)

要注意的是

COMMAND后面跟的命令要加引号。每次CIRCLE命令结束后要加一对空引号。

这是一个错误睁缓提示,意思是说功能渗启不全。如果是CAD装好就这样,一般是由于D版未完全破解造成,如果是一开始是好的,过一段时间这样,那可能是使用清除系统垃圾的软件把CAD的注册文件当垃圾清除了造成的。解悉喊模决办法:重新安装。建筑装06版以上的

(defun c:qq (/ d ent f i lst m2 obj pt ss txt x y)

  (defun maketext (txt pt) 生成文字子函数

    (entmake (list '樱做(0 . "TEXT") (cons 62 1) (cons 10 pt) (cons 40 10) (cons 1 txt) '(41 . 0.8)))写文字,0表示字体,62表示颜色1红,10表示坐标点,40表示高度,1表示文字内容,41表示文字宽度比例

  )

  (setvar "cmdecho" 0)关闭命令行提示

  (vl-load-com)加载vlax扩展函数

  (setq 余猛ss (ssget) ent (entlast))选择对象并记录最后一个形成的对象

  (command ".region" ss "")封闭图形变为面域

  (setq ss (ssadd)  lst nil)建立一个新选择集

  (while (setq ent (entnext ent))循环计算并取得最后一个对象

    (if (= (cdr (assoc 0 (entget ent))) "REGION")如果是面域

      (setq obj (vlax-ename->vla-object ent) pt (vlax-safearray->list (vlax-variant-value (vla-get-centroid obj)))转换直线为vla对象并取得质心点

            m2 (rtos (vla-get-area obj) 2 2) d (rtos (vla-get-perimeter obj) 2 2) lst (cons (list pt m2 d) lst)取得面积平方毫米,长度毫米,并建立一个列表

      )

    )

  )

  (command ".undo" "")返回竖颂桥上一步,也就是把面域变回原来的图形

  (setq lst (vl-sort lst (function (lambda (x y)(< (car (car x)) (car (car y)))))))根据给定的比较函数来对表中的元素排序

  (setq lst (vl-sort lst (function (lambda (x y)(> (cadr (car x)) (cadr (car y)))))))

  (setq f (getfiled "指定输出文件路径" "" "xls" 1) f (open f "w"))建立文本

  (write-line "编号\t周长(mm)\t面积(㎡)" f)写入内容

  (setq i 1)文字编号

  (foreach x lst

    (setq pt (car x) m2 (cadr x) d (caddr x))每一个元素按顺序对应

    (maketext (strcat "A" (itoa i)) (list (car pt) (+ (cadr pt) 20)))通过子程序写文字编号

    (maketext (strcat "L=" d "m") pt)通过子程序写长度这个"m"应当为"mm"

    (maketext (strcat "S=" m2 "㎡") (list (car pt) (- (cadr pt) 14)))面积"㎡"应当为"mm²"

    (write-line (strcat (strcat "A" (itoa i)) "\t" d "\t" m2) f)3个字符串写入文本

    (setq i (1+ i))编号递增

  )

  (close f)关闭文本

  (princ)沉默结束

)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12331237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存