乐筑天下

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

[编程交流] 双线flex lisp

[复制链接]

2

主题

12

帖子

10

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:36:58 | 显示全部楼层 |阅读模式
大家好,
第一次来,请耐心等待。
我正在寻找一个lisp将绘制二维软风管。这个怪物存在吗?
 
账单
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-5 18:40:37 | 显示全部楼层
当然了!这是我作为HVAC套件的一部分编写的一个。
 
  1. ;;; ------------------------------------------------------------------------
  2. ;;;    CreateFlex.lsp v1.1
  3. ;;;
  4. ;;;    Copyright © January, 2007
  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. ;;;    THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
  15. ;;;    WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
  16. ;;;    PURPOSE AND OF MERCHANTIBILITY ARE HEREBY DISCLAIMED BY THE
  17. ;;;    PROGRAMMER.
  18. ;;;
  19. ;;; -----------------------------------------------------------------------
  20. ;;; ------------ COMMAND LINE FUNCTIONS
  21. (defun c:FLEX (/)(FLEX_START))
  22. ;;; ------------ MAIN FUNCTION
  23. (defun FLEX_START (/ *error* OldCmdEcho OldOrthoMode OldOsmode OldLunits OldLunits OldClayer OldFillMode
  24. ActiveDoc Space FlexSize FlexStart TrunkLine EntList EntLayer StartPoint SidePoint ExtenLength LineStart
  25. LineEnd  LineAngle BlockName FlexEnd)
  26. ;;; Begin Error Handler -------------------------------------------------
  27. (defun *error* (MSG)         
  28. (if (not (member MSG '("Function cancelled" "quit / exit abort")))
  29.   (princ (strcat "\n*** Program Error: " (strcase MSG) " ***"))
  30.   (princ "\n... Program Cancelled ...")
  31. )
  32. (while (< 0 (getvar "cmdactive"))
  33.   (command)
  34. )
  35. (FLEX_RESET_ENV)
  36. )
  37. ;;; End Error Handler ---------------------------------------------------
  38. (FLEX_SET_ENV)
  39. )
  40. ;;; ------------ SETUP FLEXDUCT ENVIRONMENT SUB
  41. (defun FLEX_SET_ENV (/)
  42. ;; Set sysetm variable
  43. (setq OldCmdEcho (getvar "CMDECHO"))
  44. (setq OldOrthoMode (getvar "ORTHOMODE"))
  45. (setq OldOsmode (getvar "OSMODE"))
  46. (setq OldLunits (getvar "LUNITS"))
  47. (setq OldLuPrec (getvar "LUPREC"))
  48. (setq OldClayer (getvar "CLAYER"))
  49. (setq OldFillMode (getvar "FILLMODE"))
  50. (setvar "CMDECHO" 0)
  51. ;; Set undo marker
  52. (command "undo" "Begin")
  53. (setvar "ORTHOMODE" 0)
  54. (setvar "OSMODE" 514)
  55. (setvar "LUNITS" 2)
  56. (setvar "LUPREC" 4)
  57. (setvar "FILLMODE" 0)
  58. ;; Load VLISP funtionality
  59. (vl-load-com)
  60. ;; Set Vlisp Environment variables
  61. (setq ActiveDoc (vla-get-activedocument (vlax-get-acad-object)))
  62. (setq Space
  63. (if (= (getvar "cvport") 1)
  64.   (vla-get-paperspace ActiveDoc)
  65.   (vla-get-modelspace ActiveDoc)
  66. )
  67. )
  68. ;; Setup layer for centerline
  69. (FLEX_CREATE_LAYER "M-HVAC-CNTR" "Mechanical Plan - Ductwork centerline" "CENTER2" "25" "12" "0")
  70. ;; Run flex duct program
  71. (FLEX_RUN)
  72. )
  73. ;;; ------------ GET USER VARIABLES SUB
  74. (defun FLEX_RUN (/)
  75. ;; Get properties from current trunk line
  76. (while (null (setq TrunkLine (car(nentsel "\n Select trunk to add flex to: "))))
  77. (princ "\n  Duct not selected")
  78. )
  79. (setq EntList (entget TrunkLine))
  80. (setq FlexLayer (cdr (assoc 8 EntList)))
  81. ;; Set flex layer
  82. (setvar "CLAYER" FlexLayer)
  83. ;; Set tee properties
  84. (if (equal (cdr (assoc 0 EntList)) "LINE")
  85. (progn
  86.   (setq LineStart (cdr (assoc 10 EntList)))
  87.   (setq LineEnd (cdr (assoc 11 EntList)))
  88.   (setq LineAngle (angle LineStart LineEnd))
  89.   (setq TrunkSize (distance LineStart LineEnd))
  90.   (setq FlexStart (polar LineStart LineAngle (/ (distance LineStart LineEnd) 2)))
  91.   (setq FlexSize TrunkSize)
  92. )
  93. (progn
  94.   (princ "\n Trunk must be a line. ")
  95.   (FLEX_RUN)
  96. )
  97. )
  98. ;; Get flex direction and endpoint
  99. (setq SidePoint (getpoint FlexStart "\n Define flex direction "))
  100. (setq TrunkDirection (FLEX_GET_PERP LineStart LineEnd SidePoint))
  101. (setq FlexEnd (polar FlexStart TrunkDirection 3.0))
  102. (FLEX_BLOCK FlexSize)
  103. (FLEX_CREATE FlexStart EndPoint FlexSize)
  104. )
  105. ;;; ------------ CREATE FLEXDUCT SUB
  106. (defun FLEX_CREATE (FlexStart EndPoint FlexSize / PlineEnt VLPlineObj VLPlineLength FlexDuct1 FlexDuct2
  107. FlexDuct1Pts FlexDuct2Pts FlexCap1)
  108. ;; Create flex duct construction line (centerline)
  109. (command "pline" FlexStart "width" FlexSize FlexSize FlexEnd "arc")
  110. (while (> (getvar "cmdactive") 0)
  111. (command pause)
  112. )
  113. (setq PlineEnt (entget(entlast)))
  114. (setq VLPlineObj (vlax-ename->vla-object (cdr(assoc -1 PlineEnt))))
  115. (setq VLPlineLength (fix(vlax-get VLPlineObj 'length)))
  116. ;; Change width to 0  (all for astetics)
  117. (vlax-put VLPlineObj 'ConstantWidth 0.0)
  118. (setvar "FILLMODE" OldFillMode)
  119. ;; Add "flex" to duct
  120. (command "divide" (entlast) "block" BlockName "y" VLPlineLength)
  121. ;; Create flex duct sides
  122. (setq FlexDuct1 (car (vlax-invoke VLPlineObj 'offset (/ FlexSize 2))))
  123. (setq FlexDuct2 (car (vlax-invoke VLPlineObj 'offset (-(/ FlexSize 2)FlexSize))))
  124. ;; Get the end points of the sides
  125. (setq FlexDuct1Pts (vlax-curve-getEndPoint FlexDuct1))
  126. (setq FlexDuct2Pts (vlax-curve-getEndPoint FlexDuct2))
  127. ;; Create cap
  128. (setq FlexCap1 (vlax-invoke space 'addline FlexDuct1Pts FlexDuct2Pts))
  129. ;; Set properties for centerline
  130. (vlax-put VLPlineObj 'Layer "M-HVAC-CNTR")
  131. (FLEX_RESET_ENV)
  132. )
  133. ;;; ------------ CREATE FLEX LINE BLOCK SUB - DOES NOT INSERT BLOCK
  134. (defun FLEX_BLOCK (FlexSize /)
  135. (setq OldLunits (getvar "LUNITS"))
  136. (setq OldLuPrec (getvar "LUPREC"))
  137. (setvar "LUNITS" 2)
  138. (setvar "LUPREC" 1)
  139. (setq BlockName (strcat "FLEX-" (rtos FlexSize 5 2)))
  140. (if (= (tblsearch "block" BlockName) nil)
  141. (progn
  142.   (entmake
  143.    (list
  144.     (cons 0 "BLOCK")
  145.     (cons 2 BlockName)
  146.     (cons 70 64)
  147.     (cons 10 (list 0.0 0.0 0.0))
  148.     (cons 8 "0")
  149.    )
  150.   )
  151.   (entmake
  152.    (list
  153.     (cons 0 "LINE")
  154.     (cons 10 (list 0.0 (- (/ FlexSize 2) FlexSize) 0.0))
  155.     (cons 11 (list 0.0 (/ FlexSize 2) 0.0))
  156.     (cons 8 "0")
  157.     (cons 62 9)
  158.    )
  159.   )
  160.   (entmake
  161.    '((0 . "ENDBLK"))
  162.   )
  163. )
  164. )
  165. (setvar "LUNITS" OldLunits)
  166. (setvar "LUPREC" OldLuPrec)
  167. BlockName
  168. )
  169. ;;; ------------ LAYER CREATION ROUINE
  170. (defun FLEX_CREATE_LAYER (Layer Descpition Linetype Thickness Color Plot / TmpList)
  171. ;; Check to see if linetype exsists
  172. (if (= (tblsearch "ltype" Linetype) nil)  
  173. (if (FLEX_CHECK_LINETYPE (findfile "acad.lin") Linetype)
  174.   (command "linetype" "load" Linetype "acad.lin" "")
  175.   (setq Linetype "Continuous")
  176. )
  177. )
  178. ;;; ------------ CREATE A LIST FOR ENTMAKE
  179. (setq TmpList
  180. (list
  181.   (cons 0 "LAYER")
  182.   (cons 100 "AcDbSymbolTableRecord")
  183.   (cons 100 "AcDbLayerTableRecord")
  184.   (cons 70 0)
  185. )
  186. )
  187. ;; Create layer name list
  188. (setq TmpList (append TmpList (list (cons 2 Layer))))
  189. ;; Create layer color list
  190. (setq TmpList (append TmpList (list (cons 62 (atoi Color)))))
  191. ;; Create layer linetype list
  192. (setq TmpList (append TmpList (list (cons 6 Linetype))))
  193. ;; Create layer lineweight list
  194. (setq TmpList (append TmpList (list (cons 370 (atoi Thickness)))))
  195. ;; Create layer plot list
  196. (setq TmpList (append TmpList (list (cons 290 (atoi Plot)))))
  197. ;; Create layer from first item in the list
  198. (entmake TmpList)      
  199. ;; Create layer description
  200. (if(or(= 16.1 (atof(getvar "acadver")))(< 16.1 (atof(getvar "acadver"))))
  201. (progn
  202.   (setq VLA-Obj(vla-Add (vla-Get-Layers ActiveDoc)Layer))
  203.   (vla-Put-Description VLA-Obj Descpition)
  204. )
  205. )
  206. )
  207. ;;; ------------ CHECKS TO SEE IF A LINETYPE IS AVAILIBLE
  208. (defun FLEX_CHECK_LINETYPE (LINFile Linetype / OpenFile LineNumber CurrentLine Result)
  209. (setq OpenFile (open LINFile "r"))
  210. (while (setq CurrentLine (read-line OpenFile))
  211. (if (wcmatch CurrentLine "`**")
  212.   (progn   
  213.    (setq LinetypeName (substr(car(FLEX_STRING_TO_LIST CurrentLine ","))2))
  214.    (if (= (strcase Linetype) LinetypeName)
  215.     (setq Result T)
  216.    )
  217.   )
  218. )
  219. )
  220. (close OpenFile)
  221. Result
  222. )
  223. ;;; ------------ STRING TO LIST SUB ROUTINE
  224. (defun FLEX_STRING_TO_LIST (Stg Del / CurChr PosCnt TmpLst TmpStr)
  225. (setq PosCnt 1
  226.    TmpStr ""
  227. )
  228. (repeat (1+ (strlen Stg))
  229. (setq CurChr (substr Stg PosCnt 1))
  230. (if (= CurChr Del)
  231.   (progn
  232.    (setq TmpLst (cons TmpStr TmpLst))
  233.    (setq TmpStr "")
  234.   )
  235.   (setq TmpStr (strcat TmpStr CurChr))
  236. )
  237. (setq PosCnt (1+ PosCnt))
  238. )
  239. (setq TmpLst (reverse TmpLst))
  240. )
  241. ;; ------------ DEGREES TO RADIANS SUB ROUTINE
  242. (defun FLEX_DTR (NumberOfDegrees)
  243. (* pi (/ NumberOfDegrees 180.0))
  244. )
  245. (defun FLEX_RTD (NumberOfRadians)
  246. (* 180.0 (/ NumberOfRadians pi))
  247. )
  248. ;;; ------------ GET PERPENDICULAR POINT
  249. (defun FLEX_GET_PERP (StartPoint EndPoint Point / EntList LineStart LineEnd LineAngle NewAngle PerpAngle)
  250. (setq PerpStart (trans StartPoint 0 1))
  251. (setq PerpEnd (trans EndPoint 0 1))
  252. (setq PerpAngle (angle PerpStart PerpEnd))
  253. (if (minusp (sin (- (angle PerpStart Point) PerpAngle)))     ;determine direction
  254. (setq NewAngle (- PerpAngle (/ pi 2)))                        ;if "below" -90 deg
  255. (setq NewAngle (+ PerpAngle (/ pi 2)))                        ;or "above" +90 deg
  256. )
  257. NewAngle
  258. )
  259. ;;; ------------ RESET SYSEM VARIABLES
  260. (defun FLEX_RESET_ENV (/)
  261. ;; Reset system variables
  262. (setvar "ORTHOMODE" OldOrthoMode)
  263. (setvar "OSMODE" OldOsmode)
  264. (setvar "LUNITS" OldLunits)
  265. (setvar "LUPREC" OldLuPrec)
  266. (setvar "CLAYER" OldClayer)
  267. ;; Reset undo marker
  268. (command "undo" "End")
  269. (setvar "CMDECHO" OldCmdEcho)
  270. (princ)
  271. )
  272. ;;;
  273. ;;; Echos to the command line
  274. (princ "\n CreateFlex v1.1 ©Timothy Spangler, \n  January, 2007....loaded.")
  275. (terpri)
  276. (princ "C:FLEX")
  277. (print)
  278. ;;; End echo

 
 
它需要修改以满足您的需要。我通常选择主干线。从中可以得到flex的大小和层。如果你需要,我可以修改它以满足你的需要。
回复

使用道具 举报

2

主题

12

帖子

10

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:46:34 | 显示全部楼层
提姆,
当我在命令行中键入Flex时,会收到错误消息,
 
***程序错误:错误的参数类型:STRINGP NIL***
 
我做错了什么?
 
账单
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-5 18:48:06 | 显示全部楼层
让我调查一下。。。
回复

使用道具 举报

CAB

29

主题

781

帖子

430

银币

中流砥柱

Rank: 25

铜币
526
发表于 2022-7-5 18:50:30 | 显示全部楼层
下面是另一个要尝试的lisp:
 
  1. ;;;=======================[ FlexDuct.lsp ]==============================
  2. ;;; Author: Copyright© 2007 Charles Alan Butler
  3. ;;; Contact or Updates  @  www.TheSwamp.org
  4. ;;; Version:  1.7   Feb. 21,2008
  5. ;;; Purpose: Create Flex Duct from a centerline that the user picks
  6. ;;;    Centerline may be anything vla-curve will handle
  7. ;;; Sub_Routines:      
  8. ;;;    makePline which creates a LW Polyline
  9. ;;; Restrictions: UCS is supported
  10. ;;;    Duct Layer is hard coded, see var Flexlayer
  11. ;;;    No error handler at this time
  12. ;;; Known Issues:
  13. ;;;    Tight curves cause pline jacket distortion
  14. ;;;    Added warning when this is about to occur

Flex 17驾驶室。LSP
193703vzgz5oo4jq0gngvs.png
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-5 18:56:00 | 显示全部楼层
试试这个。我删除了所有内容并使其独立
 
  1. ;;; ------------------------------------------------------------------------
  2. ;;;    CreateFlex.lsp v1.2
  3. ;;;
  4. ;;;    Copyright © May, 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. ;;;    THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
  15. ;;;    WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
  16. ;;;    PURPOSE AND OF MERCHANTIBILITY ARE HEREBY DISCLAIMED BY THE
  17. ;;;    PROGRAMMER.
  18. ;;;
  19. ;;; -----------------------------------------------------------------------
  20. ;;; ------------ COMMAND LINE FUNCTIONS
  21. (defun c:FLEX (/)(FLEX_START))
  22. ;;; ------------ MAIN FUNCTION
  23. (defun FLEX_START (/ *error* OldCmdEcho OldOrthoMode OldOsmode OldLunits OldLunits OldFillMode
  24. ActiveDoc Space FlexSize FlexStart TrunkLine BlockName FlexEnd)
  25. ;;; Begin Error Handler -------------------------------------------------
  26. (defun *error* (MSG)         
  27. (if (not (member MSG '("Function cancelled" "quit / exit abort")))
  28.   (princ (strcat "\n*** Program Error: " (strcase MSG) " ***"))
  29.   (princ "\n... Program Cancelled ...")
  30. )
  31. (while (< 0 (getvar "cmdactive"))
  32.   (command)
  33. )
  34. (FLEX_RESET_ENV)
  35. )
  36. ;;; End Error Handler ---------------------------------------------------
  37. (FLEX_SET_ENV)
  38. )
  39. ;;; ------------ SETUP FLEXDUCT ENVIRONMENT SUB
  40. (defun FLEX_SET_ENV (/)
  41. ;; Set sysetm variable
  42. (setq OldCmdEcho (getvar "CMDECHO"))
  43. (setq OldOrthoMode (getvar "ORTHOMODE"))
  44. (setq OldOsmode (getvar "OSMODE"))
  45. (setq OldLunits (getvar "LUNITS"))
  46. (setq OldLuPrec (getvar "LUPREC"))
  47. (setq OldFillMode (getvar "FILLMODE"))
  48. (setvar "CMDECHO" 0)
  49. ;; Set undo marker
  50. (command "undo" "Begin")
  51. (setvar "ORTHOMODE" 0)
  52. (setvar "OSMODE" 514)
  53. (setvar "LUNITS" 2)
  54. (setvar "LUPREC" 4)
  55. (setvar "FILLMODE" 0)
  56. ;; Load VLISP funtionality
  57. (vl-load-com)
  58. ;; Set Vlisp Environment variables
  59. (setq ActiveDoc (vla-get-activedocument (vlax-get-acad-object)))
  60. (setq Space
  61. (if (= (getvar "cvport") 1)
  62.   (vla-get-paperspace ActiveDoc)
  63.   (vla-get-modelspace ActiveDoc)
  64. )
  65. )  
  66. ;; Run flex duct program
  67. (FLEX_RUN)
  68. )
  69. ;;; ------------ GET USER VARIABLES SUB
  70. (defun FLEX_RUN (/ FlexStart EndPoint FlexSize PlineEnt VLPlineObj VLPlineLength FlexDuct1 FlexDuct2
  71. FlexDuct1Pts FlexDuct2Pts FlexDuct3Pts FlexDuct4Pts FlexCap1 FlexCap2)
  72. (if (not (setq FlexSize (getreal "\n Enter flex size: <6"> ")))
  73. (setq FlexSize 6.0)
  74. )
  75. (FLEX_BLOCK FlexSize)
  76. (setq FlexStart (getpoint "\n Define flex start point: "))
  77. (setq FlexEnd (getpoint FlexStart "\n Define flex direction: "))
  78. (setq FlexEnd (polar FlexStart (angle FlexStart FlexEnd) 3.0))
  79. (command "_pline" FlexStart "width" FlexSize FlexSize FlexEnd "arc")
  80. (while (> (getvar "cmdactive") 0)
  81. (command PAUSE)
  82. )
  83. (setq PlineEnt (entget(entlast)))
  84. (setq VLPlineObj (vlax-ename->vla-object (cdr(assoc -1 PlineEnt))))
  85. (setq VLPlineLength (fix(vlax-get VLPlineObj 'length)))
  86. ;; Change width to 0  (all for astetics)
  87. (vlax-put VLPlineObj 'ConstantWidth 0.0)
  88. (setvar "FILLMODE" OldFillMode)
  89. ;; Add "flex" to duct
  90. (command "divide" (entlast) "block" BlockName "y" VLPlineLength)
  91. ;; Create flex duct sides
  92. (setq FlexDuct1 (car (vlax-invoke VLPlineObj 'offset (/ FlexSize 2))))
  93. (setq FlexDuct2 (car (vlax-invoke VLPlineObj 'offset (-(/ FlexSize 2)FlexSize))))
  94. ;; Get the end points of the sides
  95. (setq FlexDuct1Pts (vlax-curve-getEndPoint FlexDuct1))
  96. (setq FlexDuct2Pts (vlax-curve-getEndPoint FlexDuct2))
  97. (setq FlexDuct3Pts (vlax-curve-getStartPoint FlexDuct1))
  98. (setq FlexDuct4Pts (vlax-curve-getStartPoint FlexDuct2))
  99. ;; Create caps
  100. (setq FlexCap1 (vlax-invoke space 'addline FlexDuct1Pts FlexDuct2Pts))
  101. (setq FlexCap2 (vlax-invoke space 'addline FlexDuct3Pts FlexDuct4Pts))
  102. (FLEX_RESET_ENV)
  103. )
  104. ;;; ------------ CREATE FLEX LINE BLOCK SUB - DOES NOT INSERT BLOCK
  105. (defun FLEX_BLOCK (FlexSize /)
  106. (setq OldLunits (getvar "LUNITS"))
  107. (setq OldLuPrec (getvar "LUPREC"))
  108. (setvar "LUNITS" 2)
  109. (setvar "LUPREC" 1)
  110. (setq BlockName (strcat "FLEX-" (rtos FlexSize 5 2)))
  111. (if (= (tblsearch "block" BlockName) nil)
  112. (progn
  113.   (entmake
  114.    (list
  115.     (cons 0 "BLOCK")
  116.     (cons 2 BlockName)
  117.     (cons 70 64)
  118.     (cons 10 (list 0.0 0.0 0.0))
  119.     (cons 8 "0")
  120.    )
  121.   )
  122.   (entmake
  123.    (list
  124.     (cons 0 "LINE")
  125.     (cons 10 (list 0.0 (- (/ FlexSize 2) FlexSize) 0.0))
  126.     (cons 11 (list 0.0 (/ FlexSize 2) 0.0))
  127.     (cons 8 "0")
  128.     (cons 62 9)
  129.    )
  130.   )
  131.   (entmake
  132.    '((0 . "ENDBLK"))
  133.   )
  134. )
  135. )
  136. (setvar "LUNITS" OldLunits)
  137. (setvar "LUPREC" OldLuPrec)
  138. BlockName
  139. )
  140. ;;; ------------ RESET SYSEM VARIABLES
  141. (defun FLEX_RESET_ENV (/)
  142. ;; Release ActiveX objects
  143. (vlax-release-object ActiveDoc)
  144. (vlax-release-object Space)
  145. ;; Reset system variables
  146. (setvar "ORTHOMODE" OldOrthoMode)
  147. (setvar "OSMODE" OldOsmode)
  148. (setvar "LUNITS" OldLunits)
  149. (setvar "LUPREC" OldLuPrec)
  150. ;; Reset undo marker
  151. (command "undo" "End")
  152. (setvar "CMDECHO" OldCmdEcho)
  153. (princ)
  154. )
  155. ;;;
  156. ;;; Echos to the command line
  157. (princ "\n CreateFlex v1.2© \n Timothy Spangler, \n  May, 2008....loaded.")
  158. (terpri)
  159. (princ "C:FLEX")
  160. (print)
  161. ;;; End echo
  162.   

 
看看这是否更好。
回复

使用道具 举报

2

主题

12

帖子

10

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:58:47 | 显示全部楼层
提姆,
它现在可以工作了,但是有没有一种方法可以显示在具有圆形末端的扩散器处终止的柔性?有点难以解释。
回复

使用道具 举报

2

主题

12

帖子

10

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 19:01:59 | 显示全部楼层
提姆,
你还和我在一起吗?我喜欢这个Lisp程序的程序,非常感谢。你能让它以圆的一端结束吗?
回复

使用道具 举报

15

主题

209

帖子

121

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-5 19:04:37 | 显示全部楼层
对不起,最近两天有点忙。让我回家试一试托尼。我今晚晚些时候再发。
回复

使用道具 举报

2

主题

12

帖子

10

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 19:06:46 | 显示全部楼层
提姆,
很高兴听到你还在那里。有点担心。。。英雄联盟
你能把中心线也去掉吗?这个lisp工作得很好,真的让管网看起来很真实。再次感谢!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-9 19:32 , Processed in 0.759698 second(s), 74 queries .

© 2020-2025 乐筑天下

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