明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2142|回复: 5

[LISP]如何对轻多义线进行fillet 操作?

[复制链接]
发表于 2004-10-23 20:09:00 | 显示全部楼层 |阅读模式
现在想对画得轻多义线进行圆角操作,但不知道如何输入参数。


(vl-cmdf "fillet " "r" "20.0" ent1 ent2)


主要是ent1和ent2得参数如何确定,因为轻多义线是一个整体,不能得到各段的图原名,


所以只是对一条轻多义线操作时就不知道如何确定参数ent1和en't2,请高手提示。谢谢

发表于 2004-10-25 04:47:00 | 显示全部楼层
FILLET P可以把LWPOLYLINE中的所有顶点园角。
 楼主| 发表于 2004-10-25 09:26:00 | 显示全部楼层
这个我知道,但我在处理多义线时,每个角点的半径都不同,不能用FILLET P来操作
发表于 2004-10-25 15:43:00 | 显示全部楼层
可不可以将它转变为polyline再圆角,再转回lwpolyline
发表于 2004-10-25 16:16:00 | 显示全部楼层
怎么会这么费劲???还有,FILLET输入半径后就退出命令了,要重新启动命令,与命令本身操作都不一样 勉强凑合出来...
  1. (defun c:test( / ent pt ss ssf r ent1 ent2)
  2.    (setq ent (car (entsel)))
  3.    (setq pt (getpoint "\nPick a point:"))
  4.    (setq r (getreal "\nEnter the radius:"))
  5.    (command "_.explode" ent)
  6.    (setq ss (ssget "p"))
  7.    (setq ssf (ssget "p" (list '(-4 . "<or") (cons 10 pt) (cons 11 pt) '(-4 . "or>"))))
  8.    (setq ent1 (ssname ssf 0) ent2 (ssname ssf 1))
  9.    (ssdel ent1 ss)
  10.    (ssdel ent2 ss)
  11.    (command "_.pedit" ent1 "y" "j" ent2 "" "")
  12.    (setq ent1 (entlast))
  13.    (command "_.fillet" "t" "t" "r" r)
  14.    (command "_.fillet" "p" ent1)
  15.    (command "_.pedit" ent1 "j" ss "" "")
  16.    (princ)
  17. )
 楼主| 发表于 2004-10-26 12:06:00 | 显示全部楼层
楼上的想法确实不错,但问题是这条多义线的句柄变了啊.


最好是不要变句柄,看样子只能使用activex来改bulge值了,那样修改多义线太麻烦了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-18 11:30 , Processed in 0.276916 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表