明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 438|回复: 4

[提问] 求把一下程序线的宽度改为60,颜色改为211

[复制链接]
发表于 2018-9-17 10:55 | 显示全部楼层 |阅读模式
(defun c:tt(/ ess p1 p2 pstart ang dist midp vla_e)

  (setq ess(ssadd))
  (setq p1(getpoint "\n起始点")
        pstart p1
        )
  (while (setq p2(getpoint p1 "\n下一点"))
    (entmake (list '(0 . "LINE") (cons 10 p1) (cons 11 p2)))
    (setq ess(ssadd (entlast) ess))
    (setq ang(angle p1 p2)
          dist(distance p1 p2)
          midp(polar p1 ang (/ dist 2))
          )
    (if (<(car p2)(car p1))(setq ang (+ pi ang)))
    (setq midp(polar midp (+ ang (/ pi 2)) 2.5))
    (entmake (list '(0 . "TEXT") (cons 1 (strcat "L=" (rtos (/ dist 1000.) 2 2) "m")) (cons 10 '(0 0 0))
                   (cons 11 midp) (cons 40 200)(cons 50 ang)(cons 62 3)(cons 72 1))
             )
    (setq p1 p2)
    )
  (command "_.pedit" "_m" ess "" "Y" "J"  "" "")
  (setq vla_e(vlax-ename->vla-object (entlast)))
  (if (equal pstart p1 1e-3)
    (progn
      (vla-getboundingbox vla_e 'p1 'p2)
      (setq p1(vlax-safearray->list  p1 )
            p2(vlax-safearray->list  p2 )
            midp(mapcar (function (lambda (e1 e2) (* (+ e1 e2) 0.5))) p1 p2)
      )
    (entmake (list '(0 . "TEXT") (cons 1 (strcat "A=" (rtos (/ (vla-get-area vla_e) 1e6) 2 2) "m2")) (cons 10 '(0 0 0))
                   (cons 11 midp) (cons 40 200)(cons 50 0)(cons 62 4)(cons 72 1))
             )
    )
    )
  (princ)
  )

发表于 2018-9-17 14:43 | 显示全部楼层
(defun c:tt(/ ess p1 p2 pstart ang dist midp vla_e)

  (setq ess(ssadd))
  (setq p1(getpoint "\n起始点")
        pstart p1
        )
  (while (setq p2(getpoint p1 "\n下一点"))
    ;(entmake (list '(0 . "LINE") (cons 10 p1) (cons 11 p2)))
                  (entmake (list '(0 . "LWPOLYLINE")
           '(100 . "AcDbEntity")
           '(100 . "AcDbPolyline")   
           '(62 . 211)       ;颜色
           '(90 . 12)
           '(70 . 1)
           (cons 10 p1)
           '(40 . 60)        ;线宽
           '(41 . 60)        ;线宽
           (cons 10 p2)))
    (setq ess(ssadd (entlast) ess))
    (setq ang(angle p1 p2)
          dist(distance p1 p2)
          midp(polar p1 ang (/ dist 2))
          )
    (if (<(car p2)(car p1))(setq ang (+ pi ang)))
    (setq midp(polar midp (+ ang (/ pi 2)) 2.5))
    (entmake (list '(0 . "TEXT") (cons 1 (strcat "L=" (rtos (/ dist 1000.) 2 2) "m")) (cons 10 '(0 0 0))
                   (cons 11 midp) (cons 40 200)(cons 50 ang)(cons 62 3)(cons 72 1))
             )
    (setq p1 p2)
    )
  (command "_.pedit" "_m" ess "" "Y" "J"  "" "")
  (setq vla_e(vlax-ename->vla-object (entlast)))
  (if (equal pstart p1 1e-3)
    (progn
      (vla-getboundingbox vla_e 'p1 'p2)
      (setq p1(vlax-safearray->list  p1 )
            p2(vlax-safearray->list  p2 )
            midp(mapcar (function (lambda (e1 e2) (* (+ e1 e2) 0.5))) p1 p2)
      )
    (entmake (list '(0 . "TEXT") (cons 1 (strcat "A=" (rtos (/ (vla-get-area vla_e) 1e6) 2 2) "m2")) (cons 10 '(0 0 0))
                   (cons 11 midp) (cons 40 200)(cons 50 0)(cons 62 4)(cons 72 1))
             )
    )
    )
  (princ)
  )
发表于 2018-9-17 14:47 | 显示全部楼层
对了,(command "_.pedit" "_m" ess "" "Y" "J"  "" "")这个代码最好是改成
;(command "_.pedit" "_m" ess "" "Y" "J"  "" "")
 楼主| 发表于 2018-9-17 14:56 | 显示全部楼层
tranney 发表于 2018-9-17 14:47
对了,(command "_.pedit" "_m" ess "" "Y" "J"  "" "")这个代码最好是改成
;(command "_.pedit" "_m" ess ...

你好 谢谢你,非常感谢
 楼主| 发表于 2018-9-17 16:42 | 显示全部楼层
tranney 发表于 2018-9-17 14:47
对了,(command "_.pedit" "_m" ess "" "Y" "J"  "" "")这个代码最好是改成
;(command "_.pedit" "_m" ess ...

你好本来闭合后是有面积的,你这个怎么没有了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 16:01 , Processed in 0.367477 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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