明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9836|回复: 23

[已解答] 多重引线(mld)对齐

[复制链接]
发表于 2015-7-5 20:32:31 | 显示全部楼层 |阅读模式
2明经币
本帖最后由 dingtiedt 于 2015-7-5 20:32 编辑


求一个函数,第一,能使多重引线对齐时,第一条引线的角度不发生改变,第二,能调整设置水平引线之间的距离。
多重引线对齐时,水平方向上没有问题,垂直方向上对齐时,第一条引线的角度会发生改变,影响统一性
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

帮你整理几个函数,自己慢慢摸索吧 (setq OBJ (car (entsel "\n选择多重引线: ")) OBJ (vlax-ename->vla-object OBJ)) ;;获得引线的序号列表(多重引线的每个子对象都有一个序号) (vlax-invoke OBJ 'GetLeaderLineIndexes 0) ;;一个个子引线 的顶点列表,下面第一行的0表示第一个引线的序号 (setq LST (vlax-invoke OBJ 'GetLeaderLineVertices 0)) (while LST (setq PTLST (cons (mapcar '+ '(0 0 0) L ...
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-7-5 20:32:32 | 显示全部楼层
帮你整理几个函数,自己慢慢摸索吧

(setq OBJ (car (entsel "\n选择多重引线: "))
      OBJ (vlax-ename->vla-object OBJ))

;;获得引线的序号列表(多重引线的每个子对象都有一个序号)
(vlax-invoke OBJ 'GetLeaderLineIndexes 0)


;;一个个子引线 的顶点列表,下面第一行的0表示第一个引线的序号
(setq LST (vlax-invoke OBJ 'GetLeaderLineVertices 0))
(while LST
  (setq PTLST (cons (mapcar '+ '(0 0 0)  LST) PTLST )
        LSt   (cdddr LST)
  )
)
;;顶点数量
(vlax-invoke OBJ 'GetVertexCount 0)
;;折线方向
(vlax-invoke OBJ 'GetDoglegDirection 0)
;;折线长度
(vla-get-DoglegLength OBJ)
回复

使用道具 举报

发表于 2015-7-5 22:41:25 | 显示全部楼层
学习学习
回复

使用道具 举报

 楼主| 发表于 2015-7-6 10:02:35 | 显示全部楼层
本帖最后由 dingtiedt 于 2015-7-6 10:05 编辑

cad2010中本身就有mla,多重引线对齐,提供了“平行”和“对齐”,但是操作时只能执行其中一项,要么“平行”要么“对齐”,在垂直方向对齐时就不平行了,现在就是要把这两个功能合在一起同时执行。
大师们,出手啊!

本帖子中包含更多资源

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

x
回复

使用道具 举报

 楼主| 发表于 2015-7-7 10:15:26 | 显示全部楼层
大师们,帮帮忙啊,在室内设计上还是用的很多的
回复

使用道具 举报

 楼主| 发表于 2015-7-8 10:52:44 | 显示全部楼层
我顶啊顶,我顶啊顶,路过的大师,帮帮忙啊
回复

使用道具 举报

 楼主| 发表于 2015-7-9 11:30:48 | 显示全部楼层
只能自己顶了
回复

使用道具 举报

 楼主| 发表于 2015-7-11 16:06:05 | 显示全部楼层

Select object: ((-1 . <Entity name: 7ee3d4c0>) (0 . "MULTILEADER") (330 .
<Entity name: 7ee3bcf8>) (5 . "208") (100 . "AcDbEntity") (67 . 0) (410 .
"Model") (8 . "0") (100 . "AcDbMLeader") (270 . 2) (300 . "CONTEXT_DATA{") (40
. 1.0)
(10 10255.1 1470.8 0.0) (41 . 444.0) (140 . 4.0) (145 . 2.0) (174 . 1)
(175 . 1) (176 . 0) (177 . 0) (290 . 1) (304 . "adsfasdfadsf") (11 0.0 0.0 1.0)
(340 . <Entity name: 7ee3bc88>) (12 10257.1 1696.43 0.0) (13 1.0 0.0 0.0) (42 .
0.0) (43 . 0.0) (44 . 0.0) (45 . 1.0) (170 . 1) (90 . -1073741824) (171 . 1)
(172 . 5) (91 . -1073741824) (141 . 0.0) (92 . 0) (291 . 0) (292 . 0) (173 . 0)
(293 . 0) (142 . 0.0) (143 . 0.0) (294 . 0) (295 . 0) (296 . 0) (110 1266.05
-3096.2 0.0) (111 1.0 0.0 0.0) (112 0.0 1.0 0.0) (297 . 0) (302 . "LEADER{")
(290 . 1) (291 . 1) (10 1266.05 1470.8 0.0) (11 1.0 0.0 0.0) (90 . 0) (40 .
8989.0)
(304 . "LEADER_LINE{") (10 1266.05 -3096.2 0.0) (91 . 0) (170 . 1) (92
. -1056964608) (340 . <Entity name: 0>) (171 . -2) (40 . 0.0) (341 . <Entity
name: 0>) (93 . 0) (305 . "}") (271 . 0) (303 . "}") (272 . 9) (273 . 9) (301 .
"}") (340 . <Entity name: 7ee3d0b0>) (90 . 345280) (170 . 1) (91 . -1056964608)
(341 . <Entity name: 7ee3bca0>) (171 . -2) (290 . 1) (291 . 1) (41 . 8989.0)
(42 . 4.0) (172 . 2) (343 . <Entity name: 7ee3bc88>) (173 . 1) (95 . 1) (174 .
1) (175 . 0) (92 . -1056964608) (292 . 0) (93 . -1056964608) (10 1.0 1.0 1.0)
(43 . 0.0) (176 . 0) (293 . 0) (294 . 0) (178 . 0) (179 . 1) (45 . 1.0) (271 .
0) (272 . 9) (273 . 9))
其中有三个(40 . _),第二个是改变基线长度,现在选择第二个(40 . _)。请问怎么选择又怎么修改。
有时个以上的信息还不一样。在此先谢谢!
回复

使用道具 举报

 楼主| 发表于 2015-7-12 09:36:40 | 显示全部楼层
caoyin 发表于 2015-7-12 01:48
帮你整理几个函数,自己慢慢摸索吧

(setq OBJ (car (entsel "\n选择多重引线: "))

谢谢版主的无私帮忙
回复

使用道具 举报

 楼主| 发表于 2015-7-24 12:24:11 | 显示全部楼层
多重引线对齐,只写了垂直对齐,对于水平对齐,还要以后再多多学习,继续完善。在此谢谢无私帮忙的前辈们。

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 19:30 , Processed in 0.223386 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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