乐筑天下

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

[编程交流] 如何创建尺寸样式等

[复制链接]

59

主题

327

帖子

268

银币

后起之秀

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

铜币
295
发表于 2022-7-6 12:53:10 | 显示全部楼层 |阅读模式
我又来了,
 
我找不到在新的或空的图形中创建尺寸样式的方法(如果可能的话:在菜单中单击一次)。
 
(是的,通过插入预定义dimstyle的块或具有预定义dimstyle的块,但不是通过创建)。或者手动设置所有系统变量。
 
有办法吗?对于多行或林类型,同样的问题。。。
 
对于multiline,我发现:
 
(定义C:MLNEW(/dxfLst mlDict)
(setq dxfLst
(list“(0。“MLINESTYLE”)'(102“{ACAD_REACTORS”)'(102“}”)
“(100。“AcDbMlineStyle”)”(2。“Kabelgoot”)
'(70 . 274)'(3 . "")'(62 . 256)'(51 . 1.5708)'(52 . 1.5708)
'(71.2)'(49.0.5)'(62.256)'(6.“BYBLOCK”)
“(49.-0.5)”(62.256)“(6.“BYBLOCK”));结束setq
(如果
(空)
(成员)
(assoc 2 dxfLst)
(dictsearch)
(姓名)
“ACAD_MLINESTYLE”))
(程序
(setq mlDict
(cdr
(协会-1)
(dictsearch)
(姓名)
“ACAD_MLINESTYLE”))
(dictadd mlDict)
(cdr(assoc 2 dxfLst))(entmakex dxfLst)
); 结束程序
); 如果结束
); MLNEW结束
 
这创建了我需要的所有多行,但它显示了关节,并且使用了错误的颜色和线型。例程中的哪些参数用于什么目的?
 
欢迎任何帮助。Gr.,马可。
回复

使用道具 举报

2

主题

60

帖子

65

银币

初来乍到

Rank: 1

铜币
7
发表于 2022-7-6 13:04:09 | 显示全部楼层
你好
 
阅读此
 
@+
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 13:17:28 | 显示全部楼层
你可以把它捣碎,得到你需要的东西。我使用它创建拱门的dimstyle:
 
  1. ;;; ------------------------------------------------------------------------
  2. ;;;    STDLIB_CREATEDIMSTYLE.LSP
  3. ;;;
  4. ;;;    Copyright © December, 2008
  5. ;;;    Timothy G. Spangler
  6. ;;;
  7. ;;;    Permission to use, copy, modify, and distribute this software
  8. ;;;    for any purpose and without fee is hereby granted, provided
  9. ;;;    that the above copyright notice appears in all copies and
  10. ;;;    that both that copyright notice and the limited warranty and
  11. ;;;    restricted rights notice below appear in all supporting
  12. ;;;    documentation.
  13. ;;;
  14. ;;;    STDLIB_CREATE_DIMSTYLE
  15. ;;;
  16. ;;;                 Description:
  17. ;;;                        Called from a menu pulldown or rightclick menu
  18. ;;;                * (STDLIB_CREATE_DIMSTYLE <STYLENAME> <DIMSCALE> <TEXTSTYLE> <CURRENT>)
  19. ;;;                <STYLENAME>        =        STRING        =        Name of dimstyle to be created
  20. ;;;                <DIMSCALE>                =        REAL                =        Dimscale
  21. ;;;                <TEXTSTYLE>        =        STRING        =        Valid textstyle name
  22. ;;;                <CURRENT>                        =        BOOLE        =        If T then it set the created layer current
  23. ;;;
  24. ;;;                        Returns:
  25. ;;;
  26. ;;; ------------------------------------------------------------------------
  27. ;;; MAIN FUNCTION ;;;;;;;;;;;;;;;;;;;;;;;;;
  28. (defun STDLIB_CREATE_DIMSTYLE (StyleName StyleScale TextStyle Current / OldDimBlk OldCmdEcho StyleScale TextStyle)
  29. ;; Check arguments
  30. (if (not StyleScale)
  31.         (setq StyleScale 1.0)
  32. )
  33. (if (not TextStyle)
  34.         (setq TextStyle (getvar "TEXTSTYLE"))
  35. )
  36. ;; Create dimstyle
  37. (if (not (tblsearch "DIMSTYLE" StyleName))
  38.         (progn
  39.                 ;; Set echo
  40.                 (setq OldCmdEcho (getvar "CMDECHO"))
  41.                 (setvar "CMDECHO" 0)
  42.                
  43.                 ;; Create textstyle
  44.                 ;;; STD LIB Function
  45.                 (STDLIB_CREATE_TEXTSTYLE TextStyle 4.5 "Archquik" nil)
  46.                
  47.                 ;; Create dimblk
  48.                 (if (not (tblobjname "block" "_Oblique"))
  49.                         (progn
  50.                                 (setq OldDimBlk (getvar "dimblk"))
  51.                                 (if (= OldDimBlk "")
  52.                                         (setq OldDimBlk ".")
  53.                                 )
  54.                                 (setvar "dimblk" "_Oblique")
  55.                                 (setvar "dimblk" OldDimBlk)
  56.                         )
  57.                 )
  58.                 ;; Create dimstyle
  59.                 (entmake
  60.                         (list
  61.                                 (cons 0 "DIMSTYLE"); Table
  62.                                 (cons 100 "AcDbSymbolTableRecord"); Subclass marker
  63.                                 (cons 100 "AcDbDimStyleTableRecord"); Subclass marker
  64.                                 (cons 2 StyleName); Dimstyle name
  65.                                 (cons 70 0); Standard flag
  66.                                 (cons 3 ""); DIMPOST
  67.                                 (cons 4 ""); DIMAPOST
  68.                                 (cons 5 "_Oblique"); DIMBLK
  69.                                 (cons 6 "_Oblique"); DIMBLK1
  70.                                 (cons 7 ""); DIMBLK2
  71.                                 (cons 40 StyleScale); DIMSCALE
  72.                                 (cons 41 0.0937); DIMASZ
  73.                                 (cons 42 0.0937); DIMEXO
  74.                                 (cons 43 0.38); DIMDLI
  75.                                 (cons 44 0.0625); DIMEXE
  76.                                 (cons 45 0.0); DIMRND
  77.                                 (cons 46 0.0625); DIMDLE
  78.                                 (cons 47 0.0); DIMTP
  79.                                 (cons 48 0.0); DIMTM
  80.                                 (cons 140 0.0937); DIMTXT
  81.                                 (cons 141 0.09); DIMCEN
  82.                                 (cons 142 0.0); DIMTSZ
  83.                                 (cons 143 25.4); DIMALTF
  84.                                 (cons 144 1.0); DIMLFAC
  85.                                 (cons 145 0.0); DIMTVP
  86.                                 (cons 146 1.0); DIMTFAC
  87.                                 (cons 147 0.0625); DIMGAP
  88.                                 (cons 71 0); DIMTOL
  89.                                 (cons 72 0); DIMLIM
  90.                                 (cons 73 0); DIMTIH
  91.                                 (cons 74 0); DIMTOH
  92.                                 (cons 75 0); DIMSE1
  93.                                 (cons 76 0); DIMSE2
  94.                                 (cons 77 1); DIMTAD
  95.                                 (cons 78 3); DIMZIM
  96.                                 (cons 170 0); DIMALT
  97.                                 (cons 171 2); DIMALTD
  98.                                 (cons 172 0); DIMTOFL
  99.                                 (cons 173 0); DIMSAH
  100.                                 (cons 174 0); DIMTIX
  101.                                 (cons 175 0); DIMSOXD
  102.                                 (cons 176 0); DIMCLRD
  103.                                 (cons 177 0); DIMCLRE
  104.                                 (cons 178 2); DIMCRRT
  105.                                 (cons 270 4); DIMUNIT
  106.                                 (cons 271 4); DIMDEC
  107.                                 (cons 272 4); DIMTDEC
  108.                                 (cons 273 2); DIMALTU
  109.                                 (cons 274 2); DIMALTTD
  110.                                 (cons 275 0); DIMAUNIT
  111.                                 (cons 276 2); DIM?????
  112.                                 (cons 277 4); DIMLUNIT
  113.                                 (cons 279 2); DIM????
  114.                                 (cons 280 0); DIMJUST
  115.                                 (cons 281 0); DIMSD1
  116.                                 (cons 282 0); DIMSD2
  117.                                 (cons 283 1); DIMTOLJ
  118.                                 (cons 284 0); DIMTZIN
  119.                                 (cons 285 0); DIMALTZ
  120.                                 (cons 286 0); DIMALTTZ
  121.                                 (cons 287 5); DIMFIT
  122.                                 (cons 288 0); DIMUPT
  123.                                 ; DIMTXSTY
  124.                                 (cons 340 (tblobjname "style" TextStyle))
  125.                                 ; DIMLDRBLK
  126.                                 (cons 342 (cdr        (assoc 330 (entget(tblobjname "block" "_Oblique")))))
  127.                                 ; DIMLDRBLK1
  128.                                 (cons 343 (cdr        (assoc 330 (entget(tblobjname "block" "_Oblique")))))
  129.                                 ; DIMLDRBLK2 Block for the leader
  130.                                 ;(cons 341 (cdr        (assoc 330 (entget(tblobjname "block" "")))))
  131.                         )
  132.                 )
  133.         )
  134.         (progn
  135.                 (princ "\n Dimension Style not created")
  136.                 (exit)
  137.         )
  138. )
  139. ;; Set dimstyle current
  140. (if Current
  141.         (command "-dimstyle" "restore" StyleName)
  142. )
  143. ;; Set echo
  144. (setvar "CMDECHO" OldCmdEcho)
  145. (princ)
  146. )
  147. (princ)

 
创建文本样式:
 
  1. ;;; ------------------------------------------------------------------------
  2. ;;;    STDLIB_CREATE_TEXTSTYLE.LSP
  3. ;;;
  4. ;;;    Copyright © December, 2008
  5. ;;;    Timothy G. Spangler
  6. ;;;
  7. ;;;    Permission to use, copy, modify, and distribute this software
  8. ;;;    for any purpose and without fee is hereby granted, provided
  9. ;;;    that the above copyright notice appears in all copies and
  10. ;;;    that both that copyright notice and the limited warranty and
  11. ;;;    restricted rights notice below appear in all supporting
  12. ;;;    documentation.
  13. ;;;
  14. ;;;    STDLIB_CREATE_TEXTSTYLE
  15. ;;;
  16. ;;;                 Description:
  17. ;;;                        Called from a menu pulldown or rightclick menu
  18. ;;;                * (STDLIB_CREATE_TEXTSTYLE <STYLENAME> <TEXTSIZE> <FONTNAME> T)
  19. ;;;                <STYLENAME>        =        STRING        =        Name of textstyle to be created
  20. ;;;                <TEXTSIZE>                =        REAL                =        Text size
  21. ;;;                <FONTNAME>                =        STRING        =        Valid font name
  22. ;;;                <CURRENT>                        =        BOOLE        =        If T then it set the created layer current
  23. ;;;
  24. ;;;                        Returns:
  25. ;;;
  26. ;;; ------------------------------------------------------------------------
  27. ;;; MAIN FUNCTION ;;;;;;;;;;;;;;;;;;;;;;;;;
  28. (defun STDLIB_CREATE_TEXTSTYLE (StyleName TextHeight FontName Current / TextHeight FontName)
  29. ;; Check arguments
  30. (if (not StyleName)
  31.         (progn
  32.                 (princ "\n Style not created")
  33.                 (exit)
  34.         )
  35. )
  36. (if (not TextHeight)
  37.         (setq TextHeight 1.0)
  38. )
  39. (if (not FontName)
  40.         (setq FontName "Simplex.shx")
  41. )       
  42. ;; Create textstyle
  43. (if (not (tblsearch "STYLE" StyleName))
  44.         (entmake
  45.                 (list
  46.                         (cons 0 "STYLE")
  47.                   (cons 100 "AcDbSymbolTableRecord")
  48.                   (cons 100 "AcDbTextStyleTableRecord")
  49.                   (cons 2 StyleName)                                                                                                                        ;; Style Name
  50.                   (cons 70 0)
  51.                   (cons 40 TextHeight)                                                                                                        ;; Fixed text height
  52.                   (cons 41 1.0)                                                                                                                                                ;; Width Factor
  53.                   (cons 50 0.0)                                                                                                                                                ;; Oblique angle
  54.                   (cons 71 0)
  55.                   (cons 42 TextHeight)                                                                                                        ;; Last height used
  56.                   (cons 3 FontName)                                                                                                                        ;; Primary font name
  57.                   (cons 4 "")                                                                                                                                                        ;;  Big font name
  58.                 )
  59.         )
  60. )
  61. (if Current
  62.         (setvar "TEXTSTYLE" StyleName)
  63. )
  64. (princ)
  65. )
  66. (princ)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:30:02 | 显示全部楼层
 
你能不能不让一个LISP把所有的变量都设置成你想要的样子,然后只做一个
 
(命令“-dimstyle”“save”。。。
 
?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 13:39:19 | 显示全部楼层
很好的帖子,蒂姆-没有想过那样做
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 13:49:03 | 显示全部楼层
我从下拉菜单中使用它为不同比例的图形创建所有不同的DIMSTYLE。这似乎奏效了。开发它时唯一的问题是箭头的自定义块。希望有人能利用它
回复

使用道具 举报

29

主题

196

帖子

168

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 13:55:06 | 显示全部楼层
 
这是我自己的Lisp程序。。。。由我用我的Lisp程序的知识创建。。。我只是为每种想要的dimstyle做了一个缩写。。。它适用于具有特定设置的公制单位。。。你可以用它来做你自己的。
 
我使用一个基于对话框的例程来加载建筑Civil公制毫米和为该公司制作的公制米例程。。。我不应该分享那个。。。但网络上肯定有一些。也许在。。。
标准邮政编码
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 03:21 , Processed in 1.243585 second(s), 66 queries .

© 2020-2025 乐筑天下

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