难题-圆角Lisp
难题-圆角LispAutoCAD 2007
我有很多棘手的问题/要求,我目前正在寻找一些LISP来解决它们。我一直在网上搜索我需要的lisps,虽然我已经找到了一些东西,但我仍然有一些东西,我似乎无法找到确切的我要找的东西。我想借此机会提前感谢每一位对我的问题有意见的人,感谢他们给予我的任何帮助。
想知道是否有人有一个lisp,可以让我圆角一条直线或多段线连接到一个圆弧 圆角半径是多少? 这
(defun c:fil (/ *error* e1 e2 vl ov)
(vl-load-com)
(defun *error* (e)
(and ov (mapcar 'setvar vl ov))
(or (wcmatch (strcase e) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " e " **")))
(princ))
(while
(progn
(setq e1 (car (entsel "\nSelect First Object: ")))
(cond ((eq 'ENAME (type e1))
(if (vl-position (cdr (assoc 0 (entget e1))) '("LINE" "LWPOLYLINE" "ARC"))
(while
(progn
(setq e2 (car (entsel "\nSelect Second Object: ")))
(cond ((eq 'ENAME (type e2))
(if (not (vl-position (cdr (assoc 0 (entget e2))) '("LINE" "LWPOLYLINE" "ARC")))
(princ "\n** Object must be Line/Polyline/Arc **"))))))
(princ "\n** Object must be Line/Polyline/Arc **"))))))
(setq vl '("CMDECHO" "OSMODE" "FILLETRAD") ov (mapcar 'getvar vl))
(mapcar 'setvar vl '(0 0 0.0))
(vl-cmdf "_.fillet" e1 e2)
(mapcar 'setvar vl ov)
(princ))
虽然我觉得这完全没有必要,也不值得普林斯这么做,但我想指出一点关于你的选择。圆角将工作时,只饲料2搪瓷,但会给混合的结果。始终为其提供“(ename点)。李,没有什么对你不利的,我只是想知道。
(defun c:fil (/ *error* e1 e2 vl ov)
(vl-load-com)
(defun *error* (e)
(and ov (mapcar 'setvar vl ov))
(or (wcmatch (strcase e) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " e " **")))
(princ))
(while
(progn
(setq e1 (entsel "\nSelect First Object: "))
(cond ((eq 'ENAME (type (car e1)))
(if (vl-position (cdr (assoc 0 (entget (car e1)))) '("LINE" "LWPOLYLINE" "ARC"))
(while
(progn
(setq e2 (entsel "\nSelect Second Object: "))
(cond ((eq 'ENAME (type (car e2)))
(if (not (vl-position (cdr (assoc 0 (entget (car e2)))) '("LINE" "LWPOLYLINE" "ARC")))
(princ "\n** Object must be Line/Polyline/Arc **"))))))
(princ "\n** Object must be Line/Polyline/Arc **"))))))
(setq vl '("CMDECHO" "OSMODE" "FILLETRAD") ov (mapcar 'getvar vl))
(mapcar 'setvar vl '(0 0 0.0))
(vl-cmdf "_.fillet" e1 e2)
(mapcar 'setvar vl ov)
(princ))
只要修剪一下,把所有的东西都当作尖端。然后只需选择这两条线。 谢谢艾伦的建议,谢谢。
我意识到Lisp程序对于这个微不足道的任务来说相当简单。。
也许这就是所有必要的:
(defun c:fil ( )
(command "_.fillet" pause pause)
(princ))
但在那一点上,为什么要麻烦呢。
没错,何必费心呢眨眼:
Command: F
FILLET
Current settings: Mode = TRIM, Radius = 0.00
Select first object or :
Select second object or shift-select to apply corner:
李,我只是在挑你的毛病。
我会一如既往地报答你的恩惠
哦,我肯定。 嘿,伙计们,感谢你们抽出时间来查看我的问题,并帮助我回答这些问题。我无法让这些Lisp程序的词起作用。我附上了一个dwg文件和一些例子。我意识到它可能不完全是圆角,而是圆角类型的效果。也许这是不可能的。但我再次感谢你的努力。
鱼片。图纸 这是因为LISP提供的圆角半径为零,因为我们不确定您需要的半径。
页:
[1]
2