明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2754|回复: 12

[提问] 请教 entmake 创建 qleader 问题

[复制链接]
发表于 2018-7-19 12:09 | 显示全部楼层 |阅读模式
3明经币
请教一下,如何用 entmak 创建 qleader,以下哪里错了?
(defun c:13()
(if (setq o(getpoint (strcat"\n请指定引线的箭头位置"))) (progn
(setq b(getpoint o(strcat"\n请指定文字的位置")))
(setq wz "1")
(entmake(list '(0 . "qleader")'(100 . "AcDbEntity")'(100 . "AcDbLeader")'(8 . "4标注")(cons 1 wz)(cons 10 o)(cons 10 b) ) )
) )
)

最佳答案

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-7-19 12:09 | 显示全部楼层
  1. ;;函        数
  2. ;;功        能:关联引线+注释
  3. ;;方        法:(Cq-Ldr&txt 引线图元 文本图元)
  4. (defun Cq-Ldr&txt (LDR TXT / acaddocument  acadobject annotationobject leaderobj leadertype lst mspace num obj pnts sc x)
  5.   (VL-LOAD-COM)  
  6.  (setq AcadObject(vlax-get-acad-object)  
  7.           AcadDocument(vla-get-ActiveDocument Acadobject)  
  8.           mSpace(vla-get-ModelSpace Acaddocument)  
  9.         )
  10.         (setq lst(apply 'append(mapcar 'cdr(vl-remove-if-not '(lambda(x)(= 10(car x)))(entget ldr)))))
  11.         (setq num (1-(length lst)))
  12.         ;;; 引线数据  
  13.         (setq pnts(vlax-make-safearray vlax-vbDouble (cons 0 num)))  
  14.         (vlax-safearray-fill pnts lst)  
  15.         ;;;引线类型:acLineNoArrow、acLineWithArrow、acSplineNoArrow 或 acSplineWithArrow
  16.         (setq leaderType acLineWithArrow)
  17.   ;;附着对象
  18.         (setq annotationObject (vlax-ename->vla-object TXT))
  19.         ;;关联,返回引线对象
  20.         (setq leaderOBJ(vla-AddLeader mSpace pnts annotationObject leaderType))
  21.         ;;修改引线对象比例
  22.         (setq sc(vla-get-ScaleFactor(vlax-ename->vla-object ldr)))
  23.         (vla-put-ScaleFactor leaderOBJ sc)
  24.         (entdel ldr)
  25. )

  26. (defun c:tt()
  27.         (setq p1(getpoint "指定第一点:"))
  28.         (setq ep(getpoint p1 "指定下一点:"))
  29.         (setq Ldr
  30.                 (entmakeX
  31.                         (list '(0 . "LEADER")
  32.                                                 '(100 . "AcDbEntity")
  33.                                                 '(100 . "AcDbLeader")
  34.                                                 '(40 . 0.9875)
  35.                                                 (cons 10 p1)
  36.                                                 (cons 10 ep)
  37.                                                 '(-3 ("ACAD" (1000 . "DSTYLE") (1002 . "{") (1070 . 40) (1040 . 1) (1070 . 340) (1005 . "139") (1002 . "}")))
  38.                         )
  39.                 )
  40.         )
  41.        
  42.        
  43.         ;;Mtext
  44.         (setq Mtext
  45.                 (entmakeX
  46.                         (list '(0 . "MTEXT")
  47.                                                 '(100 . "AcDbEntity")
  48.                                                 '(100 . "AcDbMText")
  49.                                                 '(71 . 7)
  50.                                                 '(72 . 1)
  51.                                                 (cons 1 "111")
  52.                                                 (cons 10 ep)
  53.                         )
  54.                 )
  55.         )
  56.         (Cq-Ldr&txt ldr mtext)
  57.         (princ)
  58. )

评分

参与人数 1明经币 +1 收起 理由
xiangganglv + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2018-7-19 16:26 | 显示全部楼层
道友,我過來幫你頂貼子,希望你能找到你的答案。
回复

使用道具 举报

发表于 2018-7-19 18:40 | 显示全部楼层

(defun c:13()
        (if (setq o(getpoint (strcat"\n请指定引线的箭头位置")))
                (progn
                        (setq b(getpoint o(strcat"\n请指定文字的位置")))
                        (setq wz "1")
                  (command "LEADER" O B "" WZ "")
                )
        )
)
回复

使用道具 举报

 楼主| 发表于 2018-7-19 19:12 | 显示全部楼层
LPACMQ 发表于 2018-7-19 18:40
(defun c:13()
        (if (setq o(getpoint (strcat"\n请指定引线的箭头位置")))
                (progn

首先非常感谢你的回复,command我知道,只是想用 entmake 创建
回复

使用道具 举报

 楼主| 发表于 2018-7-19 19:15 | 显示全部楼层
是不是一个 entmake 无法两种不同类型的图元(引线和文字)?
entmake,,,引线
entmake,,,文字
???
回复

使用道具 举报

发表于 2018-7-20 01:14 来自手机 | 显示全部楼层
entmake可以的,不过麻烦。
回复

使用道具 举报

 楼主| 发表于 2018-7-20 08:27 | 显示全部楼层
namezg 发表于 2018-7-20 01:14
entmake可以的,不过麻烦。

可否来个 史无前例
回复

使用道具 举报

 楼主| 发表于 2018-7-20 09:36 | 显示全部楼层

可以用,非常感谢!我想把LEADER改为qleader,要改哪个地方呢?
回复

使用道具 举报

 楼主| 发表于 2018-7-20 10:08 | 显示全部楼层

还有一个问题:如何让引线箭头大小随当前标注样式的箭头大小
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 17:28 , Processed in 0.402728 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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