乐筑天下

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

[编程交流] 仅偏移clo的一部分

[复制链接]

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-5 18:37:49 | 显示全部楼层 |阅读模式
大家好,
 
我有一个lisp创建双黄线的道路标线。lisp中有2个选项。1: 选择要偏移的线以创建黄线,或2:沿要偏移的线绘制以创建线。我通常绘制闭合多段线来表示人行道的一段,因此对于所选选项,我希望选择两个点,在这两个点之间,线是偏移的,而不是整个闭合多段线。有人能帮我吗?
 
  1. (defun C:RRM008 (/ ang coords elist midp offsetted offsetted1 ofpt p1 p2 p3 pline side SUCE SUOM SUSM SUAB SUAD SUCL SUCR)
  2. (setq SUCE (getvar "cmdecho"))
  3. (setq SUOM (getvar "orthomode"))
  4. (setq SUSM (getvar "osmode"))
  5. (setq SUAB (getvar "angbase"))
  6. (setq SUAD (getvar "angdir"))
  7. (setq SUCL (getvar "clayer"))
  8. (setq SUCR (getvar "cecolor"))
  9. ;(command "_.-layer" "_N" "CCC_LAYOUT_Proposed_Road_Lining_Yellow_RRM008" "_C" "2" "CCC_LAYOUT_Proposed_Road_Lining_Yellow_RRM008" "" )
  10. (setq vl1 (list
  11.         (cons 0 "LAYER")                ;Name of entity
  12.         (cons 100 "AcDbSymbolTableRecord")                                        ;Open Records
  13.         (cons 100 "AcDbLayerTableRecord")                                        ;Locate Layer Table
  14.         (cons 2 "CCC_LAYOUT_Proposed_Road_Lining_Yellow_RRM008")                ;Name of Layer
  15.         (cons 6 "Continuous")                                                ;Linetype
  16.         (cons 62 2)                                                        ;colour = light grey
  17.         (cons 70 0)                                                        ;state
  18.         (cons 290 1)                                                        ;1=plot, 0=Don't plot
  19.                 )                                                        ;End of entity list
  20.         )
  21.         (entmake vl1)
  22. (setvar "clayer" "CCC_LAYOUT_Proposed_Road_Lining_Yellow_RRM008")  
  23. (command "._-linetype"  "s"  "bylayer" "")
  24. (setvar "cecolor" "1")
  25. (initget "D S")
  26. (setq option (getkword "\nChoose Draw line or Select line method: [D/S]: "))
  27. (cond     ((= option "D")(yellow_draw_01))
  28. ((= option "S")(yellow_select_01))
  29. )
  30. )
  31. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  32. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  33. (defun yellow_select_01 ()
  34. (setq pline(entsel "\nSelect a kerb line: "))
  35. (yellow_resume)
  36. )
  37. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  39. (defun yellow_draw_01 ()
  40. (princ "\nDraw a kerb line: ")
  41. (setvar "cecolor" "1")  
  42. (command "._pline")
  43. (while (= 1 (logand 1 (getvar "cmdactive")))
  44. (command pause))
  45. (setq pline (entlast)
  46. elist (entget pline)
  47. )
  48. (setvar "cecolor" "Bylayer")
  49. (yellow_resume)
  50. )
  51. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  52. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  53. (defun yellow_resume ()
  54. (setq side(getpoint "\nPick an offset side: "))
  55. (command "._offset" 0.3 pline side "")
  56. (setq offsetted (entlast)
  57. elist (entget offsetted)
  58. )
  59. (entmod elist)
  60. (command "._pedit" offsetted "_W" 0.1 "")
  61. (setq coords (vl-remove-if (function not)
  62. (mapcar (function (lambda (x)
  63. (if (= 10 (car x))(cdr x))))
  64. elist))
  65. )
  66. (setq p2 (car coords)
  67. midp (mapcar (function (lambda( a b)(/ (+ a b) 2)))
  68. p1 p2)
  69. )
  70. (command "_change" offsetted ""  "p" "Layer" "CCC_LAYOUT_Proposed_Road_Lining_Yellow_RRM008" "color" "Bylayer" "")
  71. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  72. (command "._offset" 0.5 pline side "")
  73. (setq offsetted1 (entlast)
  74. elist (entget offsetted1)
  75. )
  76. (entmod elist)
  77. (command "._pedit" offsetted1 "_W" 0.1 "")
  78. (setq coords (vl-remove-if (function not)
  79. (mapcar (function (lambda (x)
  80. (if (= 10 (car x))(cdr x))))
  81. elist))
  82. )
  83. (setq p2 (car coords)
  84. midp (mapcar (function (lambda( a b)(/ (+ a b) 2)))
  85. p1 p2)
  86. )
  87. (command "_change" offsetted1 ""  "p" "Layer" "CCC_LAYOUT_Proposed_Road_Lining_Yellow_RRM008" "color" "Bylayer" "")
  88. (cond     ((= option "D")(command "_erase" pline "" ))
  89. )
  90. (setvar "cmdecho"   SUCE)
  91. (setvar "orthomode" SUOM)
  92. (setvar "osmode"    SUSM)
  93. (setvar "angbase"   SUAB)
  94. (setvar "angdir"    SUAD)
  95. (setvar "clayer"    SUCL)
  96. (setvar "cecolor"    SUCR)
  97. (princ)
  98. )
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-5 18:41:23 | 显示全部楼层
我看过李的代码,但我不知道如何合并它。谁能给我指路吗。我需要将两条线偏移到一边。
http://www.lee-mac.com/offsetpolysection.html
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 18:46:54 | 显示全部楼层
尝试放置
在代码的早期,并用
  1. (c:offsec)
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-5 18:50:48 | 显示全部楼层
好啊汤布。谢谢
李,我要把什么设置改成只在一边偏移?
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-5 18:54:17 | 显示全部楼层
有人能帮我吗,也许是李?我正在尝试将李的OffSetSection调整为只对一方进行补偿,但我需要引入一个部分来询问哪一方,但我在这方面做得很失败。
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 18:56:22 | 显示全部楼层
由于vla offset与offset命令的工作方式不同,因此可能很难按照您想要的方式进行修改。难道删除你不想要的那一面不像选择你想要的那一面那么容易吗?这样,当你需要它时,它也可以工作到两边。
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 18:58:56 | 显示全部楼层
我相信你是指这样的事情。有人可以添加一些代码,让你选择抵消哪一边,但我没有时间
  1. ;;------------------=={ Offset LWPolyline Section }==-------------------;;
  2. ;;                                                                      ;;
  3. ;;  This program prompts the user to specify an offset distance and to  ;;
  4. ;;  select an LWPolyline. The user is then prompted to specify two      ;;
  5. ;;  points on the LWPolyline enclosing the section to be offset. The    ;;
  6. ;;  progam will proceed to offset all segments between the two given    ;;
  7. ;;  points to both sides by the specified distance.                     ;;
  8. ;;                                                                      ;;
  9. ;;  The program is compatible with LWPolylines of constant or varying   ;;
  10. ;;  width, with straight and/or arc segments, and defined in any UCS    ;;
  11. ;;  construction plane.                                                 ;;
  12. ;;----------------------------------------------------------------------;;
  13. ;;  Author:  Lee Mac, Copyright © 2013  -  www.lee-mac.com              ;;
  14. ;;----------------------------------------------------------------------;;
  15. ;;  Version 1.0    -    27-12-2012                                      ;;
  16. ;;                                                                      ;;
  17. ;;  First release.                                                      ;;
  18. ;;----------------------------------------------------------------------;;
  19. ;;  Version 1.1    -    05-04-2013                                      ;;
  20. ;;                                                                      ;;
  21. ;;  Fixed bug when offsetting polyline arc segments.                    ;;
  22. ;;----------------------------------------------------------------------;;
  23. ;;Slightly edited By: CB (Sorry Lee-Mac)
  24. (defun c:offsec ( / d e h l m n o p q w x z )
  25.    (if (null *off*)
  26.        (setq *off* 1.0)
  27.    )
  28.    (initget 6)
  29.    (if (setq d (getdist (strcat "\nSpecify Offset <" (rtos *off*) ">: ")))
  30.        (setq *off* d)
  31.        (setq d *off*)
  32.    )
  33.    (while
  34.        (progn (setvar 'errno 0) (setq e (car (entsel "\nSelect LWPolyline: ")))
  35.            (cond
  36.                (   (= 7 (getvar 'errno))
  37.                    (princ "\nMissed, try again.")
  38.                )
  39.                (   (null e) nil)
  40.                (   (/= "LWPOLYLINE" (cdr (assoc 0 (entget e))))
  41.                    (princ "\nObject is not an LWPolyline.")
  42.                )
  43.                (   (setq p (getpoint "\nSpecify 1st Point: "))
  44.                    (setq p (vlax-curve-getclosestpointto e (trans p 1 0)))
  45.                    (while
  46.                        (and
  47.                            (setq  q (getpoint (trans p 0 1) "\nSpecify 2nd Point: "))
  48.                            (equal p (setq q (vlax-curve-getclosestpointto e (trans q 1 0))) 1e-
  49.                        )
  50.                        (princ "\nPoints must be distinct.")
  51.                    )
  52.                    (if q
  53.                        (progn
  54.                            (if (> (setq m (vlax-curve-getparamatpoint e p))
  55.                                   (setq n (vlax-curve-getparamatpoint e q))
  56.                                )
  57.                                (mapcar 'set '(m n p q) (list n m q p))
  58.                            )
  59.                            (setq e (entget e)
  60.                                  h (reverse (member (assoc 39 e) (reverse e)))
  61.                                  h (subst (cons 70 (logand (cdr (assoc 70 h)) (~ 1))) (assoc 70 h) h)
  62.                                  l (LM:LWVertices e)
  63.                                  z (assoc 210 e)
  64.                            )
  65.                            (repeat (fix m)
  66.                                (setq l (cdr l))
  67.                            )
  68.                            (if (not (equal m (fix m) 1e-)
  69.                                (setq x (car l)
  70.                                      w (cdr (assoc 40 x))
  71.                                      l
  72.                                    (cons
  73.                                        (list
  74.                                            (cons  10 (trans p 0 (cdr z)))
  75.                                            (cons  40 (+ w (* (- m (fix m)) (- (cdr (assoc 41 x)) w))))
  76.                                            (assoc 41 x)
  77.                                            (cons  42
  78.                                                (tan
  79.                                                    (*  (- (min n (1+ (fix m))) m)
  80.                                                        (atan (cdr (assoc 42 x)))
  81.                                                    )
  82.                                                )
  83.                                            )
  84.                                        )
  85.                                        (cdr l)
  86.                                    )
  87.                                )
  88.                            )
  89.                            (setq l (reverse l))
  90.                            (repeat (+ (length l) (fix m) (- (fix n)) -1)
  91.                                (setq l (cdr l))
  92.                            )
  93.                            (if (not (equal n (fix n) 1e-)
  94.                                (setq x (car l)
  95.                                      w (cdr (assoc 40 x))
  96.                                      l
  97.                                    (vl-list*
  98.                                        (list
  99.                                            (cons 10 (trans q 0 (cdr z)))
  100.                                           '(40 . 0.0)
  101.                                           '(41 . 0.0)
  102.                                           '(42 . 0.0)
  103.                                        )
  104.                                        (list
  105.                                            (assoc 10 x)
  106.                                            (assoc 40 x)
  107.                                            (cons  41
  108.                                                (+ w
  109.                                                    (*  (/ (- n (max m (fix n))) (- (1+ (fix n)) (max m (fix n))))
  110.                                                        (- (cdr (assoc 41 x)) w)
  111.                                                    )
  112.                                                )
  113.                                            )
  114.                                            (cons  42
  115.                                                (tan
  116.                                                    (*  (if (< (fix n) m) 1.0 (- n (fix n)))
  117.                                                        (atan (cdr (assoc 42 x)))
  118.                                                    )
  119.                                                )
  120.                                            )
  121.                                        )
  122.                                        (cdr l)
  123.                                    )
  124.                                )
  125.                            )
  126.                            (setq o
  127.                                (vlax-ename->vla-object
  128.                                    (entmakex (append h (apply 'append (reverse l)) (list z)))
  129.                                )
  130.                            )
  131.                            (vl-catch-all-apply 'vla-offset (list o d))
  132.                            (vl-catch-all-apply 'vla-offset (list o (* 2 d)))
  133.                            (vla-delete o)
  134.                        )
  135.                    )
  136.                )
  137.            )
  138.        )
  139.    )
  140.    (princ)
  141. )
  142. ;; Tangent  -  Lee Mac
  143. ;; Args: x - real
  144. (defun tan ( x )
  145.    (if (not (equal 0.0 (cos x) 1e-)
  146.        (/ (sin x) (cos x))
  147.    )
  148. )
  149. ;; LW Vertices  -  Lee Mac
  150. ;; Returns a list of lists in which each sublist describes the position,
  151. ;; starting width, ending width and bulge of a vertex of an LWPolyline
  152. (defun LM:LWVertices ( e )
  153.    (if (setq e (member (assoc 10 e) e))
  154.        (cons
  155.            (list
  156.                (assoc 10 e)
  157.                (assoc 40 e)
  158.                (assoc 41 e)
  159.                (assoc 42 e)
  160.            )
  161.            (LM:LWVertices (cdr e))
  162.        )
  163.    )
  164. )
  165. ;;----------------------------------------------------------------------;;
  166. (vl-load-com)
  167. (princ
  168.    (strcat
  169.        "\n:: OffsetSection.lsp | Version 1.1 | \\U+00A9 Lee Mac "
  170.        (menucmd "m=$(edtime,0,yyyy)")
  171.        " www.lee-mac.com ::"
  172.        "\n:: Type "offsec" to Invoke ::"
  173.    )
  174. )
  175. (princ)
  176. ;;----------------------------------------------------------------------;;
  177. ;;                             End of File                              ;;
  178. ;;----------------------------------------------------------------------;;
回复

使用道具 举报

12

主题

395

帖子

384

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 19:02:15 | 显示全部楼层
我不喜欢更改李的代码,因为他会做得更好。
回复

使用道具 举报

17

主题

1274

帖子

25

银币

后起之秀

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

铜币
260
发表于 2022-7-5 19:06:02 | 显示全部楼层
所有这些都是同样的原因,但你让我这么做:
  1. ;|------------------=={ Offset LWPolyline Section }==-------------------
  2. This program prompts the user to specify an offset distance and to
  3. select an LWPolyline. The user is then prompted to specify two
  4. points on the LWPolyline enclosing the section to be offset. The
  5. progam will proceed to offset all segments between the two given
  6. points to both sides by the specified distance.
  7. The program is compatible with LWPolylines of constant or varying
  8. width, with straight and/or arc segments, and defined in any UCS
  9. construction plane.
  10. ----------------------------------------------------------------------
  11. Author:  Lee Mac, Copyright © 2013  -  www.lee-mac.com
  12. ----------------------------------------------------------------------
  13. Version 1.0    -    27-12-2012
  14. First release.
  15. ----------------------------------------------------------------------
  16. Version 1.1    -    05-04-2013
  17. Fixed bug when offsetting polyline arc segments.
  18. ----------------------------------------------------------------------
  19. Version 1.2    -    06-09-2015
  20. Added prompt to select side to offset.  Tom Beauford
  21. ----------------------------------------------------------------------|;
  22. (defun c:offsec ( / d e h l m n o p q w x z )
  23.    (if (null *off*)
  24.        (setq *off* 1.0)
  25.    )
  26.    (initget 6)
  27.    (if (setq d (getdist (strcat "\nSpecify Offset <" (rtos *off*) ">: ")))
  28.        (setq *off* d)
  29.        (setq d *off*)
  30.    )
  31.    (while
  32.        (progn (setvar 'errno 0) (setq e (car (entsel "\nSelect LWPolyline: ")))
  33.            (cond
  34.                (   (= 7 (getvar 'errno))
  35.                    (princ "\nMissed, try again.")
  36.                )
  37.                (   (null e) nil)
  38.                (   (/= "LWPOLYLINE" (cdr (assoc 0 (entget e))))
  39.                    (princ "\nObject is not an LWPolyline.")
  40.                )
  41.                (   (setq p (getpoint "\nSpecify 1st Point: "))
  42.                    (setq p (vlax-curve-getclosestpointto e (trans p 1 0)))
  43.                    (while
  44.                        (and
  45.                            (setq  q (getpoint (trans p 0 1) "\nSpecify 2nd Point: "))
  46.                            (equal p (setq q (vlax-curve-getclosestpointto e (trans q 1 0))) 1e-
  47.                        )
  48.                        (princ "\nPoints must be distinct.")
  49.                    )
  50.                    (if q
  51.                        (progn
  52.                            (if (> (setq m (vlax-curve-getparamatpoint e p))
  53.                                   (setq n (vlax-curve-getparamatpoint e q))
  54.                                )
  55.                                (mapcar 'set '(m n p q) (list n m q p))
  56.                            )
  57.                            (setq e (entget e)
  58.                                  h (reverse (member (assoc 39 e) (reverse e)))
  59.                                  h (subst (cons 70 (logand (cdr (assoc 70 h)) (~ 1))) (assoc 70 h) h)
  60.                                  l (LM:LWVertices e)
  61.                                  z (assoc 210 e)
  62.                            )
  63.                            (repeat (fix m)
  64.                                (setq l (cdr l))
  65.                            )
  66.                            (if (not (equal m (fix m) 1e-)
  67.                                (setq x (car l)
  68.                                      w (cdr (assoc 40 x))
  69.                                      l
  70.                                    (cons
  71.                                        (list
  72.                                            (cons  10 (trans p 0 (cdr z)))
  73.                                            (cons  40 (+ w (* (- m (fix m)) (- (cdr (assoc 41 x)) w))))
  74.                                            (assoc 41 x)
  75.                                            (cons  42
  76.                                                (tan
  77.                                                    (*  (- (min n (1+ (fix m))) m)
  78.                                                        (atan (cdr (assoc 42 x)))
  79.                                                    )
  80.                                                )
  81.                                            )
  82.                                        )
  83.                                        (cdr l)
  84.                                    )
  85.                                )
  86.                            )
  87.                            (setq l (reverse l))
  88.                            (repeat (+ (length l) (fix m) (- (fix n)) -1)
  89.                                (setq l (cdr l))
  90.                            )
  91.                            (if (not (equal n (fix n) 1e-)
  92.                                (setq x (car l)
  93.                                      w (cdr (assoc 40 x))
  94.                                      l
  95.                                    (vl-list*
  96.                                        (list
  97.                                            (cons 10 (trans q 0 (cdr z)))
  98.                                           '(40 . 0.0)
  99.                                           '(41 . 0.0)
  100.                                           '(42 . 0.0)
  101.                                        )
  102.                                        (list
  103.                                            (assoc 10 x)
  104.                                            (assoc 40 x)
  105.                                            (cons  41
  106.                                                (+ w
  107.                                                    (*  (/ (- n (max m (fix n))) (- (1+ (fix n)) (max m (fix n))))
  108.                                                        (- (cdr (assoc 41 x)) w)
  109.                                                    )
  110.                                                )
  111.                                            )
  112.                                            (cons  42
  113.                                                (tan
  114.                                                    (*  (if (< (fix n) m) 1.0 (- n (fix n)))
  115.                                                        (atan (cdr (assoc 42 x)))
  116.                                                    )
  117.                                                )
  118.                                            )
  119.                                        )
  120.                                        (cdr l)
  121.                                    )
  122.                                )
  123.                            )
  124.                            (setq p (getpoint "Specify point on side to offset or Enter for both: ")
  125.                                    o (vlax-ename->vla-object(entmakex (append h (apply 'append (reverse l)) (list z))))
  126.                                    ename (vlax-vla-object->ename o)
  127.                            )
  128.                            (if p
  129.                              (progn
  130.                                (princ "\nPoint selected!")
  131.                                (command "_.offset" d ename p "")
  132.                                (entdel ename)
  133.                              )
  134.                              (progn
  135.                                (princ "\nPoint NOT selected!")
  136. ;                                (vlax-ename->vla-object o)
  137. ;                                (setq o (vlax-ename->vla-object(entmakex (append h (apply 'append (reverse l)) (list z)))))
  138.                                (vl-catch-all-apply 'vla-offset (list o d))
  139.                                (vl-catch-all-apply 'vla-offset (list o (- d)))
  140.                                (vla-delete o)
  141.                              )
  142.                          )
  143.                        )
  144.                    )
  145.                )
  146.            )
  147.        )
  148.    )
  149.    (princ)
  150. )
  151. ;; Tangent  -  Lee Mac
  152. ;; Args: x - real
  153. (defun tan ( x )
  154.    (if (not (equal 0.0 (cos x) 1e-)
  155.        (/ (sin x) (cos x))
  156.    )
  157. )
  158. ;; LW Vertices  -  Lee Mac
  159. ;; Returns a list of lists in which each sublist describes the position,
  160. ;; starting width, ending width and bulge of a vertex of an LWPolyline
  161. (defun LM:LWVertices ( e )
  162.    (if (setq e (member (assoc 10 e) e))
  163.        (cons
  164.            (list
  165.                (assoc 10 e)
  166.                (assoc 40 e)
  167.                (assoc 41 e)
  168.                (assoc 42 e)
  169.            )
  170.            (LM:LWVertices (cdr e))
  171.        )
  172.    )
  173. )
  174. ;;----------------------------------------------------------------------;;
  175. (vl-load-com)
  176. (princ
  177.    (strcat
  178.        "\n:: OffsetSection.lsp | Version 1.1 | \\U+00A9 Lee Mac "
  179.        (menucmd "m=$(edtime,0,yyyy)")
  180.        " www.lee-mac.com ::"
  181.        "\n:: Type "offsec" to Invoke ::"
  182.    )
  183. )
  184. (princ)
  185. ;;----------------------------------------------------------------------;;
  186. ;;                             End of File                              ;;
  187. ;;----------------------------------------------------------------------;;

对不起,李无意冒犯,添加了选项“指定要偏移的边上点或同时输入”
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-5 19:09:54 | 显示全部楼层
谢谢Tombu。这太棒了。如果我有一条闭合多段线,并且我选择了两个点进行偏移,那么例程如何知道要偏移闭合多段线的哪一部分?对不起,我现在有点挑剔!!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:40 , Processed in 0.678002 second(s), 72 queries .

© 2020-2025 乐筑天下

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