乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 10|回复: 5

[编程交流] DimensionStyle entmake问题

[复制链接]

44

主题

139

帖子

95

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
221
发表于 2022-7-5 18:31:26 | 显示全部楼层 |阅读模式
大家好,我有一个关于entmaking Dimensionstyle的小问题。
我有意大利版的autocad 2016
 
  1. (setq dimscale (* 1.0 moltiplicatore)
  2.      Arrow_Size (* 1.5 moltiplicatore)
  3.      Extension_Line_Origin_Offset (* 8.0 moltiplicatore)
  4.      Dimension_Line_Spacing (* 3.75 moltiplicatore)
  5.      Extension_Above_Dimension_Line (* 1.25 moltiplicatore)
  6.      Text_Height (* 2.2 moltiplicatore)
  7.      Center_Mark_Size (* 2.5 moltiplicatore)
  8.      quote_scale 10.0)
  9.      Gap_From_dimension_Line_to_Text (* 0.9 moltiplicatore)
  10.      Decimal_Places 0
  11.      Tolerance_Decimal_places 0
  12.      Text_Movement 0
  13.      )
  14. (setq ds
  15. (list
  16. (cons 0 "DIMSTYLE")
  17. (cons 100 "AcDbSymbolTableRecord")
  18. (cons 100 "AcDbDimStyleTableRecord")
  19. (cons 2 dimstylename) ;Dim style name
  20. (cons 70 0) ; Standard flag
  21. (cons 3 ""); DIMPOST
  22. (cons 4 ""); DIMAPOST
  23. (cons 5 "_Oblique") ;DIMBLK-Name of block instead of default arrowhead
  24. (cons 6 "_Oblique");(cons 6 "ClosedFilled"); DIMBLK1
  25. (cons 7 "_Oblique");(cons 7 DIMBLK-Name); DIMBLK2
  26. (cons 170 0) ;DIMALT-turns off alternate units
  27. (cons 40 dimscale) ;DIMSCALE-sets the overall scale factor applied to all dimensions
  28. (cons 41 Arrow_Size) ;DIMASZ-sets the size of the arrow/tick
  29. (cons 42 Extension_Line_Origin_Offset); DIMEXO
  30. (cons 43 Dimension_Line_Spacing); DIMDLI
  31. (cons 44 Extension_Above_Dimension_Line) ;DIMEXE-specifies how far to extend the extention line beyound the dim line
  32. (cons 45 0.0); DIMRND
  33. (cons 46 0) ;DIMDLE-sets the distance the dimension line extends beyond the extension line
  34. (cons 47 0.0); DIMTP
  35. (cons 48 0.0); DIMTM
  36. (cons 71 0); DIMTOL
  37. (cons 72 0); DIMLIM
  38. (cons 73 0) ;DIMTIH-controls the position of dimension text inside extention lines ;METTE        IL TESTO DI QUOTA ORIZZONTALE
  39. (cons 74 0) ;DIMTOH-controls the position of dimension text outside extention lines
  40. (cons 75 1); DIMSE1 ;1 sopprime la linea di estensione, 0 la lascia
  41. (cons 76 1); DIMSE2 ;1 sopprime la linea di estensione, 0 la lascia
  42. (cons 77 1) ;DIMTAD-controls the vertical position of text in relation to the dim line
  43. (cons 78  ;DIMZIN-controls the suppression of zeros
  44. (cons 79 1); DIMAZIN
  45. (cons 140 Text_Height) ;DIMTXT-specifies the height of the text in the dim
  46. (cons 141 Center_Mark_Size); DIMCEN
  47. (cons 142 0.0); DIMTSZ
  48. (cons 143 0.5) ;DIMALTF-controls the scale factor for alt. units
  49. (cons 144 quote_scale); DIMLFAC ;scala di quota
  50. (cons 145 0.0); DIMTVP
  51. (cons 146 1.0); DIMTFAC
  52. (cons 147 Gap_From_dimension_Line_to_Text) ;DIMGAP-sets the distance from around the dim text
  53. (cons 170 0); DIMALT
  54. (cons 171 3) ;DIMALTD-controls the decimal places for units
  55. (cons 172 1) ;DIMTOFL-forces a line inside extension lines
  56. (cons 173 0); DIMSAH
  57. (cons 174 0); DIMTIX
  58. (cons 175 0); DIMSOXD
  59. (cons 176 256); DIMCLRD
  60. (cons 177 0); DIMCLRE
  61. (cons 178 1); DIMCRRT
  62. (cons 179 0); DIMADEC
  63. (cons 270 2) ;DIMUNIT-sets the units format for all dims ;2 decimale ; 4architettonico
  64. (cons 271 Decimal_Places) ;DIMDEC-sets the number of decimal places of primary units
  65. (cons 272 Tolerance_Decimal_places); DIMTDEC
  66. (cons 273 2) ;DIMALTU-sets the units for alt. units
  67. (cons 275 0) ;DIMAUNIT-sets the angular format for angular dims
  68. (cons 276 1); DIMFRAC
  69. (cons 277 2); DIMLUNIT ;2 decimale ; 4architettonico
  70. (cons 278 0); DIMDSEP
  71. (cons 279 Text_Movement); DIMTMOVE
  72. (cons 280 0) ;DIMJUST-controls the horizontal positioning of dim text
  73. (cons 281 0); DIMSD1
  74. (cons 282 0); DIMSD2
  75. (cons 283 1); DIMTOLJ
  76. (cons 284 3); DIMTZIN
  77. (cons 285 1); DIMALTZ
  78. (cons 286 0) ;DIMALTTZ-Toggles the suppression in tolerance values
  79. ;(cons 287 0); DIMFIT
  80. ;(cons 288 0); DIMUPT
  81. ;(cons 289 0); DIMATFIT
  82. (cons 340 (tblobjname "style" "STANDARD")); DIMTXSTY
  83. ;(cons 341 (cdr (assoc 330 (entget (tblobjname "block" "."))))); DIMLDRBLK
  84. ;(cons 342 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique"))))); DIMBLK
  85. ;(cons 343 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique"))))); DIMBLK1
  86. ;(cons 344 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique"))))); DIMBLK2
  87. ;(cons 371 -2); DIMLWD
  88. ;(cons 372 -2); DIMLWE
  89. )
  90.      )
  91.    (entmake ds)

 
我总是得到箭头!唯一的方法是编辑变量dimblk、dimblk1、dimblk2。
 
错误在哪里?
谢谢,丹尼斯
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
310
发表于 2022-7-5 18:44:19 | 显示全部楼层
创建所需的对象,然后使用。
 
http://www.cadtutor.net/forum/showthread.php?94028-LISP表示取消(&p=643826&viewfull=1#post643826)
回复

使用道具 举报

44

主题

139

帖子

95

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
221
发表于 2022-7-5 19:06:47 | 显示全部楼层
你好
 
嗯!这看起来是一个很棒的工具!但它是否适用于引号?
 
如果清除,我将无法再创建报价!
  1. (entmakex
  2. (list
  3.    (cons 0 "DIMENSION")
  4.    (cons 100 "AcDbEntity")
  5.    (cons 67 0)
  6.    (cons 410 "Model")
  7.    (cons 8 "0")
  8.    (cons 100 "AcDbDimension")
  9.    (cons 280 0)
  10.    (cons 2 "*D136")
  11.    (cons 10 '(5378.66 2125.34 0.0))
  12.    (cons 11 '(5359.45 2020.34 0.0))
  13.    (cons 12 '(0.0 0.0 0.0))
  14.    (cons 70 32)
  15.    (cons 1 "")
  16.    (cons 71 5)
  17.    (cons 72 1)
  18.    (cons 41 1.0)
  19.    (cons 42 210.0)
  20.    (cons 73 0)
  21.    (cons 74 0)
  22.    (cons 75 0)
  23.    (cons 52 0.0)
  24.    (cons 53 0.0)
  25.    (cons 54 0.0)
  26.    (cons 51 0.0)
  27.    (cons 210 '(0.0 0.0 1.0))
  28.    (cons 3 "Quota_cm")
  29.    (cons 100 "AcDbAlignedDimension")
  30.    (cons 13 '(5428.66 1915.34 0.0))
  31.    (cons 14 '(5428.66 2125.34 0.0))
  32.    (cons 15 '(0.0 0.0 0.0))
  33.    (cons 16 '(0.0 0.0 0.0))
  34.    (cons 40 0.0)
  35.    (cons 50 1.5708)
  36.    (cons 100 "AcDbRotatedDimension")
  37. )
  38. )

 
有什么建议吗?
回复

使用道具 举报

62

主题

466

帖子

404

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
310
发表于 2022-7-5 19:12:42 | 显示全部楼层
也许你可以使用/修改这个?这是我用的。
 
 
  1. (defun AddDimLinear ( p1 p2 ang offset text layer flag / e )
  2. (setq e
  3.    (entmakex
  4.      (list
  5.        (cons 0   "DIMENSION")
  6.        (cons 100  "AcDbEntity")
  7.        (cons 410  "Model")
  8.        (cons 8    layer)
  9.        (cons 100  "AcDbDimension")
  10.        (cons 10  (polar p1 (+ (* pi 0.5) ang) offset))
  11.        (cons 11  (trans (list (car p2)(cadr p2) 0.0) 1 0))
  12.        (cons 70   32)
  13.        (cons 1    text)
  14.        (cons 42  (distance p1 p2))
  15.        (cons 53 ang)
  16.        (cons 3    "STANDARD")
  17.        (cons 100  "AcDbAlignedDimension")
  18.        (cons 13 (trans (list (car p1)(cadr p1) 0.0) 1 0))
  19.        (cons 14 (trans (list (car p2)(cadr p2) 0.0) 1 0))
  20.        (cons 50 ang)
  21.        (cons 100 "AcDbRotatedDimension")
  22.        (list -3
  23.     (list "ACAD"
  24.     (cons 1000 "DSTYLE")
  25.     (cons 1002 "{")
  26.     (cons 1070  279)
  27.     (cons 1070  1)
  28.     (cons 1070  40)
  29.     (cons 1040  32.0)
  30.     (cons 1070  41)
  31.     (cons 1040  0.1875)
  32.     (cons 1070  42)
  33.     (cons 1040  (getvar 'dimexo))
  34.     (cons 1070  43)
  35.     (cons 1040  0.375)
  36.     (cons 1070  44)
  37.     (cons 1040  0.0625)
  38.     (cons 1070  78)
  39.     (cons 1070  3)
  40.     (cons 1070  140)
  41.     (cons 1040  0.09375)
  42.     (cons 1070  141)
  43.     (cons 1040  0.09375)
  44.     (cons 1070  147)
  45.     (cons 1040  0.046875)
  46.     (cons 1070  173)
  47.     (cons 1070  1)
  48.     (cons 1070  178)
  49.     (cons 1070  256)
  50.     (cons 1070  273)
  51.     (cons 1070  4)
  52.     (cons 1070  277)
  53.     (cons 1070  4)
  54.     (cons 1070  284)
  55.     (cons 1070  3)
  56.     (cons 1070  285)
  57.     (cons 1070  3)
  58.     (cons 1070  286)
  59.     (cons 1070  3)
  60.     (cons 1070  289)
  61.     (cons 1070  0)
  62.     (cons 1070  340)
  63.     (cons 1005  "39")
  64.     (cons 1070  341)
  65.     (cons 1005  "6D9")
  66.     (cons 1070  343)
  67.     (cons 1005  "6D9")
  68.     (cons 1070  344)
  69.     (cons 1005  "6D9")
  70.            (cons 1002 "}")
  71.          )
  72.        )
  73.      )
  74.    )
  75. )
  76. (if (and e flag)
  77.    (vlax-ename->vla-object e) e
  78. )
  79. )

 
  1. (adddimlinear
  2. (setq p1 (getpoint "\nSpecify first point: "))          ;P1 or first point
  3. (setq p2 (getpoint p1 "\nSpecify second point: ")) ;p2 or second point
  4. (angle p1 p2) ;angle
  5. 12. ;offset from first point
  6. "" ;text override. you can also use "<> blah"
  7. (getvar 'clayer) ;layer
  8. nil ;t-return vla-object, nil return entity name
  9. )
回复

使用道具 举报

10

主题

253

帖子

75

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
223
发表于 2022-7-5 19:19:53 | 显示全部楼层
您可以尝试将var dimblk设置为所需的值,然后将其返回。然后可以创建尺寸样式。
回复

使用道具 举报

44

主题

139

帖子

95

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
221
发表于 2022-7-5 19:32:15 | 显示全部楼层
是的,我必须在(命令“-dimstyle”“\u restore”“Quota\u cm”)后面放一个setvar,它可以工作。。
无论如何即使报价很小,也有可能迫使报价保持在中间吗?
看看我录制的这个小gif:https://www.dropbox.com/s/qu5clb9y29hx0ay/quote.gif?dl=0
 
谢谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-12 13:23 , Processed in 1.157753 second(s), 64 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表