明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 595|回复: 0

[提问] 如何增加多段线形状变化而面积跟着变化代码及取消面积6位尾数

[复制链接]
发表于 2016-6-18 16:22:44 | 显示全部楼层 |阅读模式
(defun c:mj(/ OBJLLPOINT OBJRUPOINT TEXTHEIGHT TEXTINDEX f ss e i obj l tarea)
  (vl-load-com)
  (setvar"dimzin"0);;保留小数位数时如果位数不足可以补零
  (setq TextHeight (getdist "\n输入标注文字高度:")Textbh(getstring "\n输入编号前缀:")
        f(getfiled "指定输出文件路径" "" "txt" 1));;;指定输出文件路径
  (command "layer" "M" "计算面积" "C" "6" "" "LT" "CONTINUOUS" "" "");设置一个标注图层
  (command "style" "tukou" "黑体" "0" "0.7" "0" "" "")
  (if f(progn
         (setq f(open f "a")i 0 TextIndex 1 tarea 0
               ss (ssget '((0 . "CIRCLE,LWPOLYLINE,ELLIPSE"))))
         (write-line "编号\t面积(㎡)" f)
         (repeat(SSlength ss)
           (setq e(ssname ss i)i(1+ i)
                 Obj(vlax-ename->vla-object e))
           (vla-GetBoundingBox Obj 'ObjLlPoint 'ObjRuPoint)
           (setq l(cons(list(mapcar'(lambda(x y)(/ (+ x y)2))(vlax-safearray->list ObjLlPoint)(vlax-safearray->list ObjRuPoint))
                            (vla-get-Area(vlax-ename->vla-object e)))l)))
         (foreach x(vl-sort l'(lambda(x y)(<(last x)(last y))))
           (write-line(setq txt(strcat Textbh(itoa TextIndex)"\t"(setq area(rtos(last x)2 2))))f)
           (entmake(list'(0 . "TEXT")'(8 . "计算面积")(cons 10 (car x))(cons 1 (STRCAT(vl-string-subst"=""\t"txt)"㎡"))
                        (CONS 40 TextHeight)'(7 . "tukou")(cons 11 (car x))'(72 . 1)))
           (setq tarea(+(atof area)tarea)
                 TextIndex(1+ TextIndex)))
         (close f)
         (entmake(list'(0 . "TEXT")'(8 . "计算面积")(cons 10 (setq e(getpoint"\n请输入文字插入点: ")))
                      (cons 1(strcat Textbh"="(rtos tarea 2 2)"平方米"))
                        (CONS 40 TextHeight)'(7 . "tukou")(cons 11 e)'(72 . 1)))
         )
    (alert"没有选择文件"))
  (princ)
  )


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-20 09:21 , Processed in 0.141012 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表