wjlddh 发表于 2018-9-3 14:24:06

一键转圆

求个转圆的插件 请大神给写个一键转圆的   重CDR或别的软件转CAD里面打开本是身是圆的都出现了椭圆或曲线   有的居然找不到中心点 一个个的转圆有些麻烦 能不能一键框选全部转圆的要求还是在原先的位置

张大锤 发表于 2018-9-3 16:48:25

我这个应该是比较笨的办法 但是能达到你要的效果
(defun c:tt()
(setq ss (ssget))
(setq n 0)
(repeat (sslength ss)
(setq en (entget (ssname ss n)))
(setq p10 (cdr (assoc 10 en)))
(setq p11 (cadr (cdr (assoc 11 en))))
(entmake (list '(0 . "CIRCLE")(cons 10 p10)(cons 40 p11)))
(setq n(1+ n))
)
(command "erase" ss "")
(princ)
)

wjlddh 发表于 2018-9-4 08:38:33

真的解决了非常感谢你

ysq101 发表于 2018-9-18 02:30:38

张大锤 发表于 2018-9-3 16:48
我这个应该是比较笨的办法 但是能达到你要的效果
(defun c:tt()
(setq ss (ssget))

(command "erase" ss "")

这句再改进一下
能不用COMMAND就不用

哈哈

张大锤 发表于 2018-9-18 09:50:12

ysq101 发表于 2018-9-18 02:30
(command "erase" ss "")

这句再改进一下


每次你都是力推 不用command
在创建这块 听了你的意见我现在创建都使用你告诉我的entmake
但是比如 移动 删除这样的命令 怎么使用entmake

Andyhon 发表于 2018-9-18 12:12:35

删除 用 entdel

移动 得先弄懂座标变换再用 entmode
文字 尺寸 ... 非常绞杀时间...

ysq101 发表于 2018-9-19 02:24:38

张大锤 发表于 2018-9-18 09:50
每次你都是力推 不用command
在创建这块 听了你的意见我现在创建都使用你告诉我的entmake
但是比如...

移动:重新更新座标点
删除:好像有个函数可以删除选择集的吧(完了,什么也不记得了)

PS:你已经过了使用COMMAND的阶段了   哈哈

baitang36 发表于 2018-9-19 08:56:12

ysq101 发表于 2018-9-18 02:30
(command "erase" ss "")

这句再改进一下


其实,command的兼容性还是最好的,arx的兼容性最差,vl次之

前生 发表于 2018-9-21 00:47:00

能不用Command 就尽量不用command 来解决问题。

xyp1964 发表于 2018-9-21 08:10:37

能用Command就尽量用command来解决问题。
页: [1] 2
查看完整版本: 一键转圆