明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: whoami3340a

新手悬赏一画完pline线后自定标注线长的文件

  [复制链接]
发表于 2012-5-12 13:01:56 | 显示全部楼层
修改了一下,请在七楼重新下载。加上了编号和线宽。文字的角度,不太好加啊,哪位高手帮一下忙吧!
回复

使用道具 举报

发表于 2012-5-12 13:05:13 | 显示全部楼层
楼主换一下,CAD的版本吧,06以上的应该没问题。
回复

使用道具 举报

发表于 2012-5-12 13:29:37 | 显示全部楼层
本帖最后由 vlisp2012 于 2012-5-12 14:19 编辑

参考了本论坛的高手程序,忘记出处了,先感谢了。
楼主:有修改了一下,06以上的版本,应该没问题了。
不可见的因素,很多。第5次修改:
(defun c:ccq()
  (VL-LOAD-COM)
  (setq wzgd (getvar "textsize"))
  (setvar "PLINEWID" 1.75)
  (setq no (getint "多段线起始编号:"))
  (while (setq pt(getpoint "请输入多段线的起点:"))
    (command "_.pline" pt)
    (while (/= 0 (getvar "cmdactive"))
      (command pause)
    )
    (setq xian (entlast))
    (setq xianchang (Vlax-Get (Vlax-Ename->Vla-Object xian) 'Length ))
     (setq ve (vlax-ename->vla-object xian))
     (setq zd (vlax-curve-getPointAtDist
      ve
      (* 0.5 xianchang)
    ))
    (setq zd1 (cadr (coords2ptsegbypick xian zd)))
    (setq wzjd (hdzjd (angle zd zd1)))
    (if (> wzjd 180)
      (setq wzjd (- wzjd 180)
     wzjd wzjd ))
     (command "text"
      "j"
      "m"
     zd
     wzgd
     wzjd
      (strcat "BB-" (itoa no) "/总长度为" (rtos xianchang 2 1))
    )
    (setq no (1+ no))
  )
  (princ)
)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun coords2ptsegbypick (obj p / pp n p1 p2)
    (setq pp (vlax-curve-getclosestpointto obj (trans p 1 0))
          n (fix (vlax-curve-getparamatpoint obj pp))
   nn (numbersofseg obj)
   )
    (setq p1 (coodsofsegbynum obj n))
  (if (vlax-curve-isClosed obj)
    (progn
      (if (< n nn)
(setq p2 (coodsofsegbynum obj (1+ n)))
(setq p2 (coodsofsegbynum obj 0))
)
      (if (< (distance p p1) (distance p p2))
(list p1 p2)
(list p2 p1)
)
      )
    (progn
      (if (< n nn)
(setq p2 (coodsofsegbynum obj (1+ n)))
(setq p2 (coodsofsegbynum obj (1- n)))
)
      (if (< (distance p p1) (distance p p2))
(list p1 p2)
(list p2 p1)
)
      )
    )
  
  )
(defun numbersofseg (obj / plist)
  (if (vlax-curve-isClosed obj)
  (fix (1- (vlax-curve-getendParam obj)))
   (fix (vlax-curve-getendParam obj))
    )
)
  (defun coodsofsegbynum (obj n / en)
    (vlax-curve-getPointAtParam obj n)
)
(defun hdzjd(pt)
(setq du (/ (* pt 180) pi))
  )
回复

使用道具 举报

发表于 2012-5-12 15:04:24 | 显示全部楼层
试试这个 可以对齐文字了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

发表于 2012-5-12 15:46:38 | 显示全部楼层
本帖最后由 wowan1314 于 2012-5-12 17:20 编辑

我也写了个,但是COMMAND调用PL线了不断的要下一点,不知道怎么操作(所以另想的办法)。哎!
不如14楼的好,有时间得好好学习下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

whoami3340a 该用户已被删除
 楼主| 发表于 2012-5-12 15:52:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

whoami3340a 该用户已被删除
 楼主| 发表于 2012-5-12 15:53:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

whoami3340a 该用户已被删除
 楼主| 发表于 2012-5-12 15:58:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2012-5-12 16:25:12 | 显示全部楼层
你的cad该不会是精简绿色版之类的吧
回复

使用道具 举报

发表于 2012-5-13 10:18:51 | 显示全部楼层
本帖最后由 adc 于 2012-5-13 10:19 编辑
【KAIXIN】 发表于 2012-5-12 11:18
这个币给别人挣:

给点思路:用选到最后一次生成的对象,计算写入线长

大哥,你的明经币也太恐怖了吧
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 10:43 , Processed in 0.169414 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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