乐筑天下

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

[编程交流] 圆圈标记?帮助

[复制链接]

27

主题

146

帖子

119

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
137
发表于 2022-7-5 23:09:37 | 显示全部楼层 |阅读模式
你好
 
如何使用lisp快速圈标记?这样地:
有12种模式选择。
圆圈图纸
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 23:13:00 | 显示全部楼层
你有一个自定义的lisp例程,但你不知道如何使用它?
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:18:37 | 显示全部楼层
欢迎来到CADTutor。
 
你能解释一下你想要什么吗?
回复

使用道具 举报

27

主题

146

帖子

119

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
137
发表于 2022-7-5 23:19:26 | 显示全部楼层
 
不,不是风俗,这是我画的一幅画。
回复

使用道具 举报

27

主题

146

帖子

119

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
137
发表于 2022-7-5 23:22:41 | 显示全部楼层
 
首先,对不起我的英语。
例如,当我在对话框中选择此模式时
000941gn651v17xhxrvu1u.jpg
 
接下来,选择绘图中的其他圆。圆圈将填充此图案。
000944zo8h8kbcv99k999v.jpg
回复

使用道具 举报

15

主题

243

帖子

228

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 23:28:08 | 显示全部楼层
这是一个孵化器还是不同的区块?
因此,听起来您需要一个带有lisp的DCL,该DCL将根据他们在DCL中选择的平铺时间来填充或插入块
回复

使用道具 举报

15

主题

243

帖子

228

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 23:29:33 | 显示全部楼层
这里有一个将根据DCL插入不同的块,好像您需要(如果是不同的块)
  1. (defun c:[color=red]PIPsmallvalves[/color] ( / name a1 a2 a3 insertpt1 Dcl_Id% Folder$ Slides@ [color=red]Slide1$ Slide2$ Slide3$ Slide4$ Slide5$ Slide6$ Slide7$ Slide8$ Slide9$ Slide10$ Slide11$ Slide12$ Slide13$ Slide14$ Slide15$ Slide16$[/color] Return$ X# Y# ss p2 p3 osm *error* oldlay)
  2.    
  3. (setq oldlay (getvar "clayer"))
  4.      (setq oldecho (getvar "cmdecho"))
  5.      (setvar "cmdecho" 0)
  6.      (command "_.undo" "_begin")
  7.      (defun *error* ( msg )
  8.      (if osm (setvar 'OSMODE osm))
  9.      (if snpm (setvar 'SNAPMODE snpm))
  10.      (if snp (command "snap" snp))
  11.      (if echo (setvar 'CMDECHO echo))
  12.      (if oldlay (setvar "clayer" oldlay))
  13.    (if (not (member msg '("Function cancelled" "quit / exit abort")))
  14.        (princ (strcat "\nError: " msg))
  15.    )
  16.    (princ)
  17.    (command "_.undo" "_end")
  18.    )
  19. (princ "\n")
  20.    ; Set Default Variables
  21.   [color=red](setq Slides@ (list nil "PVS001" "PVS002" "PVS003" "PVS004" "PVS005" "PVS006" "PVS007" "PVS008" "PVS009" "PVS010" "PVS011" "PVS012" "PVS013" "PVS014" "PVS015" "PVS016")[/color]
  22.         Slide1$ (nth 1 Slides@)
  23.        [color=red] Slide2$ (nth 2 Slides@)
  24.         Slide3$ (nth 3 Slides@)
  25.         Slide4$ (nth 4 Slides@)
  26.         Slide5$ (nth 5 Slides@)
  27.         Slide6$ (nth 6 Slides@)
  28.         Slide7$ (nth 7 Slides@)
  29.         Slide8$ (nth 8 Slides@)
  30.         Slide9$ (nth 9 Slides@)
  31.         Slide10$ (nth 10 Slides@)
  32.         Slide11$ (nth 11 Slides@)
  33.         Slide12$ (nth 12 Slides@)
  34.         Slide13$ (nth 13 Slides@)
  35.         Slide14$ (nth 14 Slides@)
  36.         Slide15$ (nth 15 Slides@)
  37.         Slide16$ (nth 16 Slides@)[/color]
  38.         Folder$ ""
  39.         Return$ ""
  40.   );setq
  41.    ; Load Dialog
  42.   (setq Dcl_Id% (load_dialog "[color=red]PIPsmallvalves.dcl[/color]"))
  43.   (new_dialog "[color=red]PIPsmallvalves[/color]" Dcl_Id%)
  44.    ; Set Dialog Initial Settings
  45.   (set_tile "Title" "[color=red]SMALL VALVES[/color]")
  46. [color=red]  (set_tile "PVS001" Slide1$)
  47.   (set_tile "PVS002" Slide2$)
  48.   (set_tile "PVS003" Slide3$)
  49.   (set_tile "PVS004" Slide4$)
  50.   (set_tile "PVS005" Slide5$)
  51.   (set_tile "PVS006" Slide6$)
  52.   (set_tile "PVS007" Slide7$)
  53.   (set_tile "PVS008" Slide8$)
  54.   (set_tile "PVS009" Slide9$)
  55.   (set_tile "PVS010" Slide10$)
  56.   (set_tile "PVS011" Slide11$)
  57.   (set_tile "PVS012" Slide12$)
  58.   (set_tile "PVS013" Slide13$)
  59.   (set_tile "PVS014" Slide14$)
  60.   (set_tile "PVS015" Slide15$)
  61.   (set_tile "PVS016" Slide16$)[/color]
  62.    ; Adjust X# and Y# per image_buttom outline to fit slide_image
  63.   (start_image "Slide1")
  64.   (setq X# (- (dimx_tile "Slide1") 2))
  65.   (setq Y# (- (dimy_tile "Slide1") 2))
  66.   (end_image)
  67. [color=red] (start_image "Slide1")(slide_image 1 1 X# Y# (strcat Folder$ Slide1$))(end_image)
  68.   (start_image "Slide2")(slide_image 1 1 X# Y# (strcat Folder$ Slide2$))(end_image)
  69.   (start_image "Slide3")(slide_image 1 1 X# Y# (strcat Folder$ Slide3$))(end_image)
  70.   (start_image "Slide4")(slide_image 1 1 X# Y# (strcat Folder$ Slide4$))(end_image)
  71.   (start_image "Slide5")(slide_image 1 1 X# Y# (strcat Folder$ Slide5$))(end_image)
  72.   (start_image "Slide6")(slide_image 1 1 X# Y# (strcat Folder$ Slide6$))(end_image)
  73.   (start_image "Slide7")(slide_image 1 1 X# Y# (strcat Folder$ Slide7$))(end_image)
  74.   (start_image "Slide8")(slide_image 1 1 X# Y# (strcat Folder$ Slide8$))(end_image)
  75.   (start_image "Slide9")(slide_image 1 1 X# Y# (strcat Folder$ Slide9$))(end_image)
  76.   (start_image "Slide10")(slide_image 1 1 X# Y# (strcat Folder$ Slide10$))(end_image)
  77.   (start_image "Slide11")(slide_image 1 1 X# Y# (strcat Folder$ Slide11$))(end_image)
  78.   (start_image "Slide12")(slide_image 1 1 X# Y# (strcat Folder$ Slide12$))(end_image)
  79.   (start_image "Slide13")(slide_image 1 1 X# Y# (strcat Folder$ Slide13$))(end_image)
  80.   (start_image "Slide14")(slide_image 1 1 X# Y# (strcat Folder$ Slide14$))(end_image)
  81.   (start_image "Slide15")(slide_image 1 1 X# Y# (strcat Folder$ Slide15$))(end_image)
  82.   (start_image "Slide16")(slide_image 1 1 X# Y# (strcat Folder$ Slide16$))(end_image)[/color]
  83.     ; Dialog Actions
  84. [color=red] (action_tile "Slide1" "(done_dialog 11)")
  85. (action_tile "Slide2" "(done_dialog 12)")
  86. (action_tile "Slide3" "(done_dialog 13)")
  87. (action_tile "Slide4" "(done_dialog 14)")
  88. (action_tile "Slide5" "(done_dialog 15)")
  89. (action_tile "Slide6" "(done_dialog 16)")
  90. (action_tile "Slide7" "(done_dialog 17)")
  91. (action_tile "Slide8" "(done_dialog 18)")
  92. (action_tile "Slide9" "(done_dialog 19)")
  93. (action_tile "Slide10" "(done_dialog 20)")
  94. (action_tile "Slide11" "(done_dialog 21)")
  95. (action_tile "Slide12" "(done_dialog 22)")
  96. (action_tile "Slide13" "(done_dialog 23)")
  97. (action_tile "Slide14" "(done_dialog 24)")
  98. (action_tile "Slide15" "(done_dialog 25)")
  99. (action_tile "Slide16" "(done_dialog 26)")[/color]
  100. (action_tile "cancel" "(done_dialog 0)")
  101. (setq a1 (start_dialog))
  102. (setq osm (getvar "osmode"))
  103. (command "attreq" "0")
  104. (command "snap" "0.0625")
  105. (if (and a1 (> a1 1))
  106. (progn
  107.                        (if (not (tblsearch "layer" "[color=red]PID[/color]"))
  108.                            (entmake
  109.                               (list
  110.                                  (cons 0 "Layer")
  111.                                  (cons 100 "AcDbSymbolTableRecord")
  112.                                  (cons 100 "AcDbLayerTableRecord")
  113.                                  (cons 2 "[color=red]PID[/color]")
  114.                                  (cons 70 0)
  115.                                  (cons 62 2)
  116.                                  (cons 6 "[color=red]Continuous[/color]")
  117.                                )       ;list
  118.                               )       ;entmake
  119.                          )        ;if
  120. (setvar "clayer" "[color=red]PID[/color]")
  121. (if (setq insertpt1 (getpoint "\nPick Insertion Point: "))
  122. (progn
  123. (if (and (setq ntsel (nentselp insertpt1))
  124.    (= (length ntsel) 2)
  125.    (setq name (car ntsel))
  126.    (wcmatch (cdr (assoc 0 (entget name))) "LINE,LWPOLYLINE")
  127.    );; and
  128.    (setq objx 1)
  129.    );; if
  130.      (cond          ;as long as
  131. [color=red] ((= a1 11)(MySub "PVS001" 0.0938 -0.0938 insertpt1))    ;a1 11
  132. ((= a1 12)(MySub "PVS002" 0.0938 -0.0938 insertpt1))    ;a1 12
  133. ((= a1 13)(MySub "PVS003" 0.0938 -0.0938 insertpt1))    ;a1 13
  134. ((= a1 14)(MySub "PVS004" 0.0938 -0.0938 insertpt1))    ;a1 14
  135. ((= a1 15)(MySub "PVS005" 0.0938 -0.0938 insertpt1))    ;a1 15
  136. ((= a1 16)(MySub "PVS006" 0.0938 -0.0938 insertpt1))    ;a1 16
  137. ((= a1 17)(MySub "PVS007" 0.0938 -0.0938 insertpt1))    ;a1 17
  138. ((= a1 18)(MySub "PVS008" 0.0625 -0.0625 insertpt1))    ;a1 18
  139. ((= a1 19)(MySub "PVS009" 0.0938 -0.0938 insertpt1))    ;a1 19
  140. ((= a1 20)(MySub "PVS010" 0.0938 -0.0938 insertpt1))    ;a1 20
  141. ((= a1 21)(MySub "PVS011" 0.0938 -0.0938 insertpt1))    ;a1 21
  142. ((= a1 22)(MySub "PVS012" 0.0938 -0.0938 insertpt1))    ;a1 22
  143. ((= a1 23)(MySub "PVS013" 0.0938 -0.0938 insertpt1))    ;a1 23
  144. ((= a1 24)(MySub "PVS014" 0.0000 -0.0000 insertpt1))    ;a1 24
  145. ((= a1 25)(MySub "PVS015" 0.0313 -0.0313 insertpt1))    ;a1 25
  146. ((= a1 26)(MySub "PVS016" 0.0781 -0.0781 insertpt1))    ;a1 26[/color]
  147.        )          ;cond
  148.       )          ;progn
  149. )          ;a1 1 if
  150. ))          ;if progn test   
  151. (setvar "osmode" osm)
  152. (setvar "cmdecho" 0)      
  153. (princ)
  154.    (command "_.undo" "_end")
  155. (setvar "clayer" oldlay)
  156. (princ)        
  157. )   
  158. (defun MySub (a1 a2 a3 insertpt1 / OBJ P2 P3 doc)      ;subfunction
  159. (vl-load-com)          ;load vlisp functions
  160. (if (= objx 1)         ;if objx is 1, ent=line or pline
  161.    (progn          ;preform these actions
  162. (setvar "osmode" 0)         ;first turn off osnap
  163. (princ)
  164. (if (> a2 0.0)          ;if trim dist is greater than 0.0 preform
  165. (progn           ;these actions
  166. (setq obj (vlax-ename->vla-object name))      ;get entity object
  167. (if (eq (vla-get-ObjectName obj) "AcDbPolyline")     ;if it is a LwPolyline
  168.     (setq p3 insertpt1         ;get first break point
  169.    p2 (angle insertpt1  (vlax-curve-getpointatparam obj  
  170. (fix (vlax-curve-getparamatpoint obj
  171. (vlax-curve-getClosestPointTo obj insertpt1 T))))))      
  172. (setq p3 insertpt1         ;and second break point
  173.      p2 (angle (vlax-curve-getStartpoint obj) (vlax-curve-getEndPoint obj)))
  174. )           ;if
  175. (command "break" name (polar p3 p2 a2) (polar p3 p2 a3))
  176. (command "_insert" a1 insertpt1 "" "" pause)      ;insert into space
  177. )           ;progn
  178. (princ "\n......Selected....\n......Breaking Lines....")    ;status
  179. )           ;if
  180. )
  181. (progn  
  182. (command "_insert" a1 insertpt1 "" "" pause)      ;insert onto line
  183. (princ)
  184. )
  185. )           ;if
  186. (princ "\n......Insertion Completed!")       ;princ
  187. (princ)
  188. (setq name nil)
  189. )           ;MySub
回复

使用道具 举报

15

主题

243

帖子

228

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-5 23:32:02 | 显示全部楼层
和DCL
  1. img : image_button
  2. {
  3. height = 6.5;
  4. width = 22.00;
  5. fixed_width = true;
  6. fixed_height = true;
  7. alignment = centered;
  8. color = -2;
  9. }
  10. txt : text {fixed_width = true; alignment = centered; }
  11. col : column {fixed_width = true; width = 45; }
  12. //---------------------------------------------------------------------------------------------------------
  13. //   PIP Small Valves Dialog
  14. // Brandon Hull, Cynthia helms, special thanks to : Lee Mac, Scot65, HmSilva
  15. //---------------------------------------------------------------------------------------------------------
  16. [color=red]PIPsmallvalves[/color] : dialog {
  17.   label = "[color=red]SMALL VALVES[/color]"; spacer;
  18. : row
  19. {
  20.    : col
  21.    {
  22. : img { key = "Slide1"; } : txt { label = "[color=red]Gate Valve[/color]"; } spacer_1;
  23. : img { key = "Slide2"; } : txt { label = "[color=red]Check Valve[/color]"; } spacer_1;
  24. : img { key = "Slide3"; } : txt { label = "[color=red]Stop Check[/color]"; } spacer_1;
  25. : img { key = "Slide4"; } : txt { label = "[color=red]Globe Valve[/color]"; }
  26.    }
  27.    : col
  28.    {
  29. : img { key = "Slide5"; } : txt { label = "[color=red]Butterfly Valve[/color]"; } spacer_1;
  30. : img { key = "Slide6"; } : txt { label = "[color=red]Needle Valve[/color]"; } spacer_1;
  31. : img { key = "Slide7"; } : txt { label = "[color=red]Ball Valve[/color]"; } spacer_1;
  32. : img { key = "Slide8"; } : txt { label = "[color=red]Generic Rotary[/color]"; }  
  33.    }
  34.    : col
  35.    {
  36. : img { key = "Slide9"; } : txt { label = "[color=red]Plug Valve[/color]"; } spacer_1;
  37. : img { key = "Slide10"; } : txt { label = "[color=red]Diaphragm Valve[/color]"; } spacer_1;
  38. : img { key = "Slide11"; } : txt { label = "[color=red]Three-Way Valve[/color]"; } spacer_1;
  39. : img { key = "Slide12"; } : txt { label = "[color=red]Four-Way Valve[/color]"; }  
  40.    }
  41.    : col
  42.    {
  43. [color=black]  : img { key = "Slide13"; } : txt { label = "[color=red]Pinch Valve[/color]"; } spacer_1;[/color]
  44. [color=black]  : img { key = "Slide14"; } : txt { label = "[color=red]Angle Valve[/color]"; } spacer_1;[/color]
  45. [color=black]  : img { key = "Slide15"; } : txt { label = "[color=red]Knife Valve[/color]"; } spacer_1;[/color]
  46. [color=black]  : img { key = "Slide16"; } : txt { label = "[color=red]Three-Way Ball Valve[/color]"; }[/color]  
  47.    }
  48. }
  49. spacer; cancel_button;  
  50. }///generalsymbols

 
 
好吧,那么!那里
 
根据DCL中需要的项目数量,您需要编辑红色的代码,还需要使用命令“MSLIDE”创建幻灯片,这非常简单。
制作幻灯片后,编辑红色代码,使其与块名称相对应(确保幻灯片的名称与其图片中的块名称相同-不是强制性的,但这是该代码的设置方式。)
将存储块和幻灯片的目录添加到autocad支持文件搜索路径中。
 
哦,有一件事。。。。第一个post LISP需要保存为“YOURFILENAME.lsp”,DCL需要为“YOURDCLNAME.DCL”才能工作。然后,您需要匹配代码中的名称,以便它知道要查找打开的文件。谷歌了解更多信息或在这里询问。
哦,还有一件事。此代码包含的代码将围绕插入到该行或LWPOLYLINE上的项目修剪一条直线或LWPOLYLINE。如果你不需要这样的功能,简单地说,它很容易删除。。。
HTH公司
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 23:37:14 | 显示全部楼层
如果所有需要填充的圆都是不同大小的,该怎么办?
回复

使用道具 举报

27

主题

146

帖子

119

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
137
发表于 2022-7-5 23:39:25 | 显示全部楼层
 
不幸地我认为我的主题不是关于插入块,而是关于图案填充。
但还是要谢谢你,一个很好的Dcl模板。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 03:03 , Processed in 0.683418 second(s), 74 queries .

© 2020-2025 乐筑天下

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