明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1950|回复: 4

[源码] EntMake 方式 生成对齐标注

[复制链接]
发表于 2015-5-28 15:53 | 显示全部楼层 |阅读模式
生成时采用当前 标注样式 当前 DIMSCALE

评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

 楼主| 发表于 2015-5-28 15:53 | 显示全部楼层

  1. ;功    能:EntMake 方式生成对齐对标注,默认图层、颜色、标注样式、标注全局比例变量。

  2. ;调用格式:($YF_EMAligneDim <起点> <终点> <文字基点>)

  3. ;返 回 值:生成对象图元名。

  4. ;支持函数:

  5. ;示    例:($YF_EMAligneDim (Getpoint) (Getpoint) (GetPoint))

  6. ;整理日期:2015年5月12日


  7. (Defun $YF_EMAligneDim (SP EP TxtPt / DIMSCALE OScale DD DD2 Result)

  8.    (EntMake

  9.       (List

  10.          '(0 . "DIMENSION") '(100 . "AcDbEntity") '(100 . "AcDbDimension")

  11.           (Cons 10 Txtpt)

  12.          '(70 . 33) '(1 . "") '(100 . "AcDbAlignedDimension")

  13.           (Cons 13 SP) (Cons 14 EP)

  14.           (List

  15.                 -3 (List "ACAD"

  16.                       '(1000 . "DSTYLE") '(1002 . "{") '(1070 . 40) (Cons 1040 (GetVar "DIMSCALE")) '(1002 . "}")))

  17.          

  18.       )

  19.    )

  20.    (EntLast)

  21. )

评分

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

查看全部评分

发表于 2015-5-30 09:21 | 显示全部楼层
留个记号,以后再来
发表于 2018-8-10 18:50 | 显示全部楼层
楼主真是高手,什么都是浮云啊
 楼主| 发表于 2019-12-26 10:31 | 显示全部楼层
考虑DIMSCALE DIMLTFAC 两个变量的值。
  1. ;函数名称:YF_EMAligneDim
  2. ;函数功能:EntMake方式生成对齐标注,默认当前层、颜色、标注样式、标注全局比例变量。
  3. ;调用格式YF_EMAligneDim <起点> <终点> <文字标注侧基点>)
  4. ;返 回 值:图元名,否则返回nil。
  5. ;示    例YF_EMAligneDim (Getpoint) (Getpoint) (GetPoint))
  6. ;整理日期:2016年4月11日

  7. (defun YF_EMAligneDim (SP EP TxtPt)
  8.    (if
  9.       (entmake
  10.          (append
  11.             (list
  12.                '(0 . "DIMENSION") '(100 . "AcDbEntity") '(100 . "AcDbDimension") (cons 10 (trans TxtPt 1 0)) '(70 . 33) '(1 . "")
  13.                '(100 . "AcDbAlignedDimension") (cons 13 (trans SP 1 0)) (cons 14 (trans EP 1 0))
  14.             )
  15.             (cond
  16.                (
  17.                   (and (/= (getvar "DIMSCALE") 1.0)(/= (getvar "DIMLFAC") 1.0))
  18.                   (list (list -3 (list "ACAD" '(1000 . "DSTYLE") '(1002 . "{") '(1070 . 40) (cons 1040 (getvar "DIMSCALE")) '(1070 . 144) (cons 1040 (getvar "DIMLFAC"))'(1002 . "}"))))
  19.                )
  20.                (
  21.                   (and (/= (getvar "DIMSCALE") 1.0)(= (getvar "DIMLFAC") 1.0))
  22.                   (list (list -3 (list "ACAD" '(1000 . "DSTYLE") '(1002 . "{") '(1070 . 40) (cons 1040 (getvar "DIMSCALE")) '(1002 . "}"))))
  23.                )
  24.                (
  25.                   (and (= (getvar "DIMSCALE") 1.0)(/= (getvar "DIMLFAC") 1.0))
  26.                   (list (list -3 (list "ACAD" '(1000 . "DSTYLE") '(1002 . "{") '(1070 . 144) (cons 1040 (getvar "DIMLFAC"))'(1002 . "}"))))
  27.                )
  28.             )
  29.          )
  30.          
  31.       )
  32.       (entlast)
  33.    )
  34. )

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

本版积分规则

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

GMT+8, 2024-5-20 23:54 , Processed in 0.192601 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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