你好
我正在尝试“创建”一个lisp,它可以执行以下操作:
1º选择标记为“DD”的块并获取值
2º检查“表”中的值:
“DD”“半径”
8 1
10 2
12 3
16 4
20 8
25 10
32 13
3º选择多段线,并使用在点“2º”中获得的“半径”进行圆角。
我已经为我在这个论坛中找到的“3º”点编写了一些代码:
- (defun c:MPL_Fillet (/ ss en rad n)
- (setq rad (getvar "FILLETRAD"))
- (initget (+ 1 4 8 64 128))
- (if (/= ""
- (setq rad
- (getdist (strcat "Enter fillet radius <" (rtos rad) ">: "))
- ) ;_ end of setq
- ) ;_ end of =
- (setvar "FILLETRAD" rad)
- ) ;_ end of if
- (prompt "\nSelect the polylines you'd whish to fillet: ")
- (setq ss (ssget '((0 . "LWPOLYLINE,POLYLINE")))
- n 0
- ) ;_ end of setq
- (while (< n (sslength ss))
- (setq en (ssname ss n))
- (command "_FILLET" "P" en)
- (setq n (1+ n))
- ) ;_ end of while
- (princ)
- ) ;_ end of
但是,不是输入半径,而是“表”中对应的半径。
谢谢 |