明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 739|回复: 9

[提问] entmakeX如何设置Leader 的箭头大小

[复制链接]
发表于 2024-11-16 15:22:36 | 显示全部楼层 |阅读模式
本帖最后由 yu960312 于 2024-11-18 18:41 编辑

  • ;;1.entmakeX如何设置Leader 的箭头大小
  • ;;2.entmod如何更新箭头端点的坐标
  • (setq ss_leader(entmakeX (list
  • '(0 . "LEADER")
  • '(100 . "AcDbEntity")
  • '(100 . "AcDbLeader")
  • (cons 10 (list 10.0 0.0 0.0));;箭头起点
  • (cons 10 (list 0.0 0.0 0.0));;箭头端点
  • )
  • )
  • )
回复

使用道具 举报

发表于 2024-11-18 15:47:32 | 显示全部楼层
entmakeX不能设置Leader 的箭头大小,用vla-put-ArrowheadSize可以。
用vlax-Put    ‘Coordinates 更新箭头端点的坐标方便点。


回复 支持 反对

使用道具 举报

发表于 2024-11-18 16:04:24 | 显示全部楼层
caoyin版主有帖子里有。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-18 18:15:54 | 显示全部楼层
自贡黄明儒 发表于 2024-11-18 16:04
caoyin版主有帖子里有。

好的,去学习学习
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-18 18:17:07 | 显示全部楼层
gzcsun 发表于 2024-11-18 15:47
entmakeX不能设置Leader 的箭头大小,用vla-put-ArrowheadSize可以。
用vlax-Put    ‘Coordinates 更新箭 ...

OK,我去研究研究
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-18 18:28:23 | 显示全部楼层
本帖最后由 yu960312 于 2024-11-18 18:38 编辑


  • ;;现在是用新建标注样式来控制箭头颜色,用扩展数据来修改箭头大小
  • ;;不知是否有更简单的方法实现
  • (defun C:test1 ()
  • (DEFUN ACC_SUB()
  • (setq h 2.0)
  • (setq name "leader")
  • (setvar "DIMBLK" ".");;设置尺寸线末端显示的箭头块。
  • (setvar "DIMSAH" 1);;控制尺寸线箭头块的显示。0表示使用由 DIMBLK 系统变量设置的箭头块,1表示使用由 DIMBLK1 和 DIMBLK2 系统变量设置的箭头块
  • (setvar "DIMBLK1" "");;第一个箭头的样式
  • (setvar "DIMBLK2" "");;第二个箭头的样式
  • (setvar "DIMLDRBLK" ".");引线箭头的样式
  • (setvar "dimtxt" h) ;文字高度
  • (setvar "dimasz" 0.5) ;箭头大小
  • (setvar "dimexe" 2) ;尺寸界限超出长度
  • (setvar "dimexo" 0) ;尺寸界限起点距离
  • (setvar "dimgap" (* 0.25 h)) ;标注文字周围的距离
  • (setvar "DIMDLI" (* 2 h)) ;控制基线标注中尺寸线的间距
  • (setvar "DIMATFIT" 3) ;当尺寸界线不足放下标注文字和箭头时,函数DIMATFIT确定位置
  • (setvar "DIMUPT" 1) ;控制文字相对尺寸线的垂直位置
  • (setvar "DIMTAD" 0) ;控制文字相对尺寸线的垂直位置
  • (setvar "DIMDEC" 3) ;小数位数:3
  • (setvar "DIMJUST" 0) ;控制标注文字的水平位置
  • (setvar "DIMDSEP" ".") ;小数分隔符为 .
  • (setvar "DIMTOFL" 0) ;控制标注文字在尺寸界线外的位置
  • (setvar "dimtmove" 0) ;关对齐,设置标注文字的移动规则:0 水平
  • (setvar "dimcen" 0) ;标注圆心:不标,
  • (setvar "dimclrd" 4) ;为尺寸线、箭头和标注引线指定颜色
  • (setvar "dimclre" 3) ;为尺寸界线指定颜色
  • (setvar "DIMCLRT" 7) ;为标注文字指定颜色
  • (setvar "DIMADEC" 3) ;标注角度位数
  • (setvar "dimzin" 1) ;标注角度消0
  • (setvar "DIMLFAC" 1);测量单位比例
  • (setvar "DIMSCALE" 1);标注全局比例
  • (setvar "DIMTXSTY" "Standard")
  • (if (not (tblsearch "dimstyle" name))
  • (vl-cmdf "DIMSTYLE" "S" name)
  • (vl-cmdf "DIMSTYLE" "S" name "y")
  • )
  • )
  • (ACC_SUB);;新建标注样式
  • (setq PT1(LIST 0.0 0.0 0.0))
  • (setq leader_l 10);;箭头长度
  • (setq leader_h 5);;箭头大小
  • (setq ss_leader(entmakeX (list
  • '(0 . "LEADER")
  • '(100 . "AcDbEntity")
  • '(100 . "AcDbLeader")
  • '(3 . "leader");;标注样式
  • (cons 10 (list (car PT1) (+ (cadr PT1) leader_l)))
  • (cons 10 PT1)
  • (LIST -3 (LIST "ACAD" (cons 1000 "DSTYLE") (cons 1002 "{") (cons 1070 40) (cons 1040 leader_h) (cons 1070 340) (cons 1070 0) (cons 1002 "}")))
  • )
  • )
  • )
  • (princ)
  • )

回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-18 18:43:10 | 显示全部楼层
gzcsun 发表于 2024-11-18 15:47
entmakeX不能设置Leader 的箭头大小,用vla-put-ArrowheadSize可以。
用vlax-Put    ‘Coordinates 更新箭 ...

能否给个示例程序
用vla-put-ArrowheadSize设置Leader 的箭头大小
用vla-put-Coordinates更新箭头端点的坐标
回复 支持 反对

使用道具 举报

发表于 2024-11-18 21:45:54 来自手机 | 显示全部楼层
学习学习,研究研究。。
回复 支持 反对

使用道具 举报

发表于 2024-11-22 13:25:53 | 显示全部楼层
yu960312 发表于 2024-11-18 18:43
能否给个示例程序
用vla-put-ArrowheadSize设置Leader 的箭头大小
用vla-put-Coordinates更新箭头端点 ...

(vla-put-ArrowheadSize (Vlax-Ename->Vla-Object (Car(Entsel))) 3.3)
(vlax-Put (Vlax-Ename->Vla-Object (Car(Entsel))) 'Coordinates '(10.0 10.0 0.0 -10.0 -10.0 0.0))
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-23 15:20:37 | 显示全部楼层
gzcsun 发表于 2024-11-22 13:25
(vla-put-ArrowheadSize (Vlax-Ename->Vla-Object (Car(Entsel))) 3.3)
(vlax-Put (Vlax-Ename->Vla-Obj ...

学习了,感谢大佬指点
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-8 09:43 , Processed in 0.175116 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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