乐筑天下

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

[编程交流] 需要一点帮助。。。。。。。

[复制链接]

4

主题

27

帖子

21

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 15:05:18 | 显示全部楼层 |阅读模式
我有一个代码,我需要一些帮助。首先,我创建这个项目是为了避免在项目中使用不正确的标题栏和标准块。这将适用于所有项目,以便在整个过程中保持更大的一致性。
 
 
我遇到的问题是,我必须在两个块的插入之间点击“回车”。在插入第二个块后,我得到了一个未知的命令错误,但一切都正常。
 
 
不明白我做错了什么。请看下面的代码,帮我解释一下。
 
 
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. ;;
  4. ;;Created by Karl E Sharp 7/3/2018
  5. ;;
  6. ;;Designed to create a default project specific DWG Template with all
  7. ;;   project variables set. (i.e. linewght, linetypes, dimstyle, textstyle, texthieght, etc.)
  8. ;;
  9. ;;Inserts project title block and all annotation blocks to be used
  10. ;;
  11. ;;Sets SDI mode to 0
  12. ;;
  13. ;;Turns off attribute Dialog on insertion of block
  14. ;;
  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  16. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. ;
  18. (defun c:NDS (/ d-path)
  19. (setvar "dimadec" 0)                 ; Angular decimal places
  20. (setvar "dimalt" 0)                  ; Alternate units selected
  21. (setvar "dimaltd" 0)                 ; Alternate unit decimal places
  22. (setvar "dimaltrnd" 0.0000)          ; Alternate units rounding value
  23. (setvar "dimalttd" 2)                ; Alternate tolerance decimal places
  24. (setvar "dimalttz" 0)                ; Alternate tolerance zero suppression
  25. (setvar "dimaltu" 2)                 ; Alternate units
  26. (setvar "dimaltz" 0)                 ; Alternate unit zero suppression
  27. (setvar "dimapost" "")               ; Prefix and suffix for alternate text
  28. (setvar "dimarcsym" 0)               ; Arc length symbol
  29. (setvar "dimasz" 0.1875)             ; Arrow size
  30. (setvar "dimatfit" 3)                ; Arrow and text fit
  31. (setvar "dimaunit" 0)                ; Angular unit format
  32. (setvar "dimazin" 0)                 ; Angular zero supression
  33. (setvar "dimblk" "")                 ; Arrow block name
  34. (setvar "dimblk1" "")                ; First arrow block name
  35. (setvar "dimblk2" "")                ; Second arrow block name
  36. (setvar "dimcen" 0.25)               ; Center mark size
  37. (setvar "dimclrd" 256)               ; Dimension line and leader color
  38. (setvar "dimclre" 256)               ; Extension line color
  39. (setvar "dimclrt" 2)                 ; Dimension text color
  40. (setvar "dimdec" 4)                  ; Decimal places
  41. (setvar "dimdle" 0)                  ; Dimension line extension
  42. (setvar "dimdli" 0.0625)             ; Dimension line spacing
  43. (setvar "dimdsep" ".")               ; Decimal separator
  44. (setvar "dimexe" 0.0625)             ; Extension above dimension line
  45. (setvar "dimexo" 0.0625)             ; Extension line origin offset
  46. (setvar "dimfrac" 2)                 ; Fraction format
  47. (setvar "dimfxl" 1)                  ; Fixed Extension Line
  48. (setvar "dimfxlon" 0)                ; Enable Fixed Extension Line
  49. (setvar "dimgap" 0.0625)             ; Gap from dimension line to text
  50. (setvar "dimjust" 0)                 ; Justification of text on dimension line
  51. (setvar "dimldrblk" "")              ; Leader block name
  52. (setvar "dimlfac" 1)                 ; Linear unit scale factor
  53. (setvar "dimlim" 0)                  ; Generate dimension limits
  54. (setvar "dimltex1" "bylayer")        ; Linetype extension line 1
  55. (setvar "dimltex2" "bylayer")        ; Linetype extension line 2
  56. (setvar "dimltype" "bylayer")        ; Dimension linetype
  57. (setvar "dimlunit" 4)                ; Linear unit format
  58. (setvar "dimlwd" -1)                 ; Dimension line and leader lineweight
  59. (setvar "dimlwe" -1)                 ; Extension line lineweight
  60. (setvar "dimrnd" 0)                  ; Rounding value
  61. (setvar "dimsah" 0)                  ; Separate arrow blocks
  62. (setvar "dimscale" 1)                ; Overall scale factor
  63. (setvar "ltscale" 0.5)               ; Linetype scale factor
  64. (setvar "dimsd1" 0)                  ; Suppress the first dimension line
  65. (setvar "dimsd2" 0)                  ; Suppress the second dimension line
  66. (setvar "dimse1" 0)                  ; Suppress the first extension line
  67. (setvar "dimse2" 0)                  ; Suppress the second extension line
  68. (setvar "dimsoxd" 0)                 ; Suppress outside dimension lines
  69. (setvar "dimtad" 1)                  ; Place text above the dimension line
  70. (setvar "dimtdec" 4)                 ; Tolerance decimal places
  71. (setvar "dimtfac" 1)                 ; Tolerance text height scaling factor
  72. (setvar "dimtfill" 1)                ; Text background enabled
  73. (setvar "dimtad" 1)                  ; Place text above the dimension line
  74. (setvar "dimtfillclr" 0)             ; Text background color
  75. (setvar "dimtih" 0)                  ; Text inside extensions is horizontal
  76. (setvar "dimtix" 0)                  ; Place text inside extensions
  77. (setvar "dimtm" 0)                   ; Minus tolerance
  78. (setvar "dimtmove" 0)                ; Text movement
  79. (setvar "dimtofl" 0)                 ; Force line inside extension lines
  80. (setvar "dimtoh" 0)                  ; Text outside horizontal
  81. (setvar "dimtol" 0)                  ; Tolerance dimensioning
  82. (setvar "dimtolj" 0)                 ; Tolerance vertical justification
  83. (setvar "dimtp" 0)                   ; Plus tolerance
  84. (setvar "dimtsz" 0)                  ; Tick size
  85. (setvar "dimtvp" 0)                  ; Text vertical position
  86. (setvar "dimtxsty" "standard")       ; Text style
  87. (setvar "dimtxt" 0.09375)            ; Text height
  88. (setvar "dimtzin" 0)                 ; Tolerance zero suppression
  89. (setvar "dimupt" 0)                  ; User positioned text
  90. (setvar "dimzin" 3)                  ; Zero suppression
  91. (command "dimstyle" "save" "standard" "y")
  92. (command "style" "standard" "romans" 0.09375 1 0 "no" "no" "no")
  93. (command "linetype" "load" "center2" "" "")
  94. (command "linetype" "load" "hidden2" "" "")
  95. (command "linetype" "load" "phantom2" "" "")
  96. (command "layer" "m" "DIM" "c" "1" "DIM" "")
  97. (command "layer" "m" "TEXT" "c" "2" "TEXT" "lt" "continuous" "TEXT" "")
  98. (command "layer" "m" "CENTER" "c" "1" "CENTER" "lt" "center2" "CENTER" "")
  99. (command "layer" "m" "HIDDEN" "c" "2" "HIDDEN" "lt" "hidden2" "HIDDEN" "")
  100. (command "layer" "m" "MATCHLINE" "c" "3" "MATCHLINE" "lt" "phantom2" "MATCHLINE" "")
  101. (command "layer" "m" "EQUIP" "c" "3" "EQUIP" "lt" "continuous" "EQUIP" "")
  102. (command "layer" "m" "LABEL_PLATE" "c" "3" "LABEL_PLATE" "lt" "continuous" "LABEL_PLATE" "")
  103. (command "layer" "m" "BACKGROUND" "c" "9" "BACKGROUND" "lt" "continuous" "BACKGROUND" "")
  104. (command "layer" "m" "SYMBOLS" "c" "3" "SYMBOLS" "lt" "continuous" "SYMBOLS" "")
  105. (command "layer" "m" "VIEWPORT" "c" "7" "VIEWPORT" "plot" "n" "VIEWPORT" "")
  106. (command "layer" "s" "0" "")
  107. (command "LUNITS" "4")
  108. (command "LUPREC" "5")
  109. (setvar "SDI" 0)                     ; Turns SDI mode off
  110. (setvar "attdia" 0)                  ; Turns the attribute edit dialog box off for block insertion
  111. (setvar "attreq" 1)
  112. (initdia 0)
  113. (setq filename "S:\\folder-1\\subfolder-1\\filename")
  114. (if
  115.    (= 0 (getvar "SDI"))
  116.      (command "-insert" "S:\\folder-1\\subfolder-1\\filename" '(0. 0. 0.) "" "" ""))   ; Inserts Client Border
  117. (while (= (logand (getvar "cmdactive")1)1)
  118.    (command ""))
  119.    (initdia)
  120. (princ)
  121.   (setq filename "S:\\folder-2\\subfolder-2\\filename")
  122. (if
  123.    (= 0 (getvar "SDI"))
  124.      (command "-insert" "*S:\\folder-2\\subfolder-2\\filename" '(36. 0. 0.) "" "" )) ; Inserts Company Border with standard annotation blocks
  125. (while (= (logand (getvar "cmdactive")1)1)
  126.    (command ""))
  127.    (initdia)
  128. (princ)
  129. )
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 15:12:45 | 显示全部楼层
只是@第一眼,还没有测试您的代码,但您使用while cmdactive命令pause。。。
回复

举报

4

主题

27

帖子

21

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 15:17:23 | 显示全部楼层
对此完全陌生。我该怎么办?我试图删除命令暂停,但它冻结了。。。。。。哦,这让我的大脑受伤了:/
回复

举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 15:21:04 | 显示全部楼层
 
 
嗯,我实际上是在给我的大脑加一点防冻剂,hik;-)
 
 
但是可能是(命令“”)而不是(命令暂停)?
 
 
此外(同样没有测试),仅从内存中(慢慢变得模糊),当您插入带有前缀*的块时,您是否仍有相同数量的提示?如果不尝试,我不能完全确定,但我模糊地记得标准提示将要求x和y分别使用比例,而另一个只要求两者使用一个比例因子。
回复

举报

4

主题

27

帖子

21

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 15:24:35 | 显示全部楼层
谢谢这解决了插入之间的问题。。。。。不确定插入时提示“*”的次数。。。。。。我要检查一下。。。。。
回复

举报

4

主题

27

帖子

21

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 15:27:00 | 显示全部楼层
vundaba!!!!感谢RLX的帮助。。。。。。我在第二次插入时引用了一对多的话。。。。我已经编辑了上面的代码和更正。试着更好地处理这一切,这样我才能真正地说,我学到了一些新的东西,并在这个过程中帮助了一些地方,希望能让我的生活更轻松。
回复

举报

4

主题

27

帖子

21

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-5 15:32:49 | 显示全部楼层
出于好奇,有没有办法将其浓缩到更少的编码?
回复

举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 15:38:30 | 显示全部楼层
 
 
我相信你可以使用mapcar等压缩大量代码,如果不是所有的话,大多数命令函数都可以用vla函数代替。但这将节省你几微秒,见鬼,也许整整一秒。。。了不起的事如果可行,就可行。对我来说现在是凌晨1点,所以我不会再为wile做任何编码了
回复

举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:40:12 | 显示全部楼层
关于唯一的保存是在你的制作层可以做的,比如说读文件,但你有这么少是值得的。还有其他方法也可以制作一个列表((layname1 col LT)(layname2 col LT))等等,读取列表并制作,第三种方法是使用make layer defun(laych“Background”9“Continuous),在我的示例中,这是一个库函数,用于检查层是否存在,忽略其他生成。
回复

举报

0

主题

946

帖子

978

银币

限制会员

铜币
-3
发表于 2022-7-5 15:47:23 | 显示全部楼层
代码中的红色项从不使用。我在命令插入调用中替换了变量“filename”。如果要在命令insert调用中使用硬编码的文件名字符串,则可以删除两条红线代码。如果没有,那么你可以把它放在一个while循环中
  1. 2
回复

举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-15 08:51 , Processed in 1.214703 second(s), 83 queries .

© 2020-2025 乐筑天下

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