明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1723|回复: 8

[已解答] 如何用entmake创建标注箭头

[复制链接]
发表于 2015-11-23 13:55:52 | 显示全部楼层 |阅读模式
参照这个贴子:http://bbs.mjtd.com/forum.php?mo ... %3D28%26typeid%3D28
用entmake创建标注样式,但是创建标注“箭头”样式时因个人水平问题,创建不了,请知道的指点一下。

错误: DXF 组不正确: (341 . "_OPEN30")
                                 (342 . "_OPEN30")  ;;;怎么修正这两句使用的箭头样式

  (entmake (list  '(0 . "DIMSTYLE")
                  '(100 . "AcDbSymbolTableRecord")
                  '(100 . "AcDbDimStyleTableRecord")
                  '(70 . 0)
                   (cons 340 (tblobjname "style" "Standard")) ; 文字样式名
                   (cons 2 "Standard")   ; 标注样式名
                  '(40 . 0.0)            ; 标注特征比例,缩放到布局
                  '(371 . 15)            ; 尺寸线线宽
                  '(372 . 15)            ; 尺寸界线线宽
                  '(41 . 2.5)            ; 箭头尺寸
                  '(42 . 0.3)            ; 尺寸界线偏离原点的距离
                  '(43 . 5.5)            ; 基线间距
                  '(44 . 1.5)            ; 尺寸界线超出尺寸线的距离
                  '(77 . 1)              ; 文字在尺寸线上方
                  '(73 . 0)              ; 将文字与尺寸线对齐
                  '(74 . 1)              ; 控制标注文字在尺寸界线外的位置
                  '(140 . 3.0)           ; 文字高度
                  '(141 . 0)             ; 圆心标记
                  '(144 . 1.0)           ; 测量比例单位
                  '(147 . 0.5)           ; 文字从尺寸线偏移
                  '(172 . 2)             ; 尺寸界线间连线
                  '(173 . 1)             ; 使用由 DIMBLK1 和 DIMBLK2 系统变量设置的箭头块
                  '(176 . 256)           ; 随层
                  '(177 . 256)           ; 随层
                  '(178 . 256)           ; 随层
                  '(271 . 2)             ; 尺寸标注精度
                  '(179 . 1)             ; 角度标注精度
                  '(275 . 0)             ; 角度标注制式,十进制
                  '(341 . "_OPEN30")     ; 引线标注箭头样式
                  '(342 . "_OPEN30")     ; 标注箭头样式
            )
   )



该贴已经同步到 冒个烟圈的微博
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-11-23 14:27:09 | 显示全部楼层
貌似要改扩展数据的 , 或者直接用vla的方式改吧
 楼主| 发表于 2015-11-23 15:49:12 | 显示全部楼层
lucas_3333 发表于 2015-11-23 14:27
貌似要改扩展数据的 , 或者直接用vla的方式改吧

我刚上路的小白,不知道如何改,你能帮忙吗?
发表于 2015-11-23 16:29:53 | 显示全部楼层
  1.   (entmod
  2.     (list
  3.       (cons -1 ename)
  4.       (list -3
  5.         (list
  6.           "ACAD"
  7.           '(1000 . "DSTYLE")
  8.           '(1002 . "{")
  9.           '(1070 . 41)
  10.           (cons 1040 1.5)
  11.           '(1070 . 341)
  12.           (cons
  13.             1005
  14.             (cdr
  15.               (assoc
  16.                 5
  17.                 (entget
  18.                   (cdr (assoc 330 (entget (tblobjname "block" "_DOTSMALL"))))
  19.                 )
  20.               )
  21.             )
  22.           )
  23.           '(1002 . "}")
  24.         )
  25.       )
  26.     )
  27.   )



VLA方法
  1. (setq obj (vlax-ename->vla-object (entlast)))
  2. (vla-put-ArrowheadType obj acArrowDotSmall);;箭头类型
  3. (vla-Update obj)



 楼主| 发表于 2015-11-23 19:21:14 | 显示全部楼层
lucas_3333 发表于 2015-11-23 16:29
VLA方法

谢谢。。。。。
发表于 2015-12-6 12:49:50 来自手机 | 显示全部楼层
不错的方法
发表于 2021-1-5 00:04:50 | 显示全部楼层

直接获得块的方式是会出错的,如下:
$ (entget (tblobjname "block" "_DOTSMALL"))
; 错误: 参数类型错误: lentityp nil
_1$ (tblobjname "block" "_DOTSMALL")
nil
_1$
发表于 2021-1-5 00:06:58 | 显示全部楼层
sfzyr 发表于 2021-1-5 00:04
直接获得块的方式是会出错的,如下:
$ (entget (tblobjname "block" "_DOTSMALL"))
; 错误: 参数类型 ...

用组码指定箭头类型不知道如何实现,用系统变量setvar来修改变量值为指定箭头名称的字符串就可以,但是lisp用entmake如何创建,就是搞不定
发表于 2021-1-9 23:07:55 | 显示全部楼层
这个箭头其实是一个块,看我的创建方法吧
  1. (if (not (tblsearch "BLOCK" "_ArchTick"))
  2.         (progn
  3.           (entmake (list '(0 . "BLOCK") '(100 . "AcDbEntity") '(67 . 0) '(8 . "0") '(100 . "AcDbBlockBegin") '(70 . 0) '(10 0.0 0.0 0.0) '(2 . "_ArchTick") '(1 . "")));生成标注箭头
  4.           (entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") (cons 8 "0") '(100 . "AcDbPolyline") '(90 . 2) '(43 . 0.4) (cons 10 (list (- (/ 1 (sqrt 2))) (- (/ 1 (sqrt 2))))) (cons 10 (list (/ 1 (sqrt 2)) (/ 1 (sqrt 2))))));生成标注箭头
  5.           (entmake (list '(0 . "ENDBLK")));生成标注箭头
  6.         )
  7.       )

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

本版积分规则

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

GMT+8, 2025-5-17 08:48 , Processed in 0.191119 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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