明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1041|回复: 4

[基础] 为什么用entmod无法执行?

[复制链接]
发表于 2023-4-3 20:31:25 | 显示全部楼层 |阅读模式
兄弟们,帮忙看一下,为什么把 entmake 换成 entmod无法执行,提示 “参数太多”?

  • (defun c:tt(/ en endata entype)
  • (setq ss(ssget '((0 . "LINE"))))
  •     (setq i 0)
  •     (repeat (sslength ss)
  •        (setq en(ssname ss i))
  •        (setq endata(entget en))
  •        (setq pt1 (assoc 10 endata))
  •                          (setq pt2 (assoc 11 endata))
  •                          (setq pt1y (caddr pt1))
  •                         (princ pt1y)
  •                         (princ "\n")
  •                         (setq pt2x (cadr pt2))
  •                         (princ pt2x)
  •                         (princ "\n")
  •                         (entmake (list '(0 . "LINE") pt1 (cons 11 (list pt2x pt1y))))
  •                         (entdel en)
  • ;;;;;;;;        (entmod (subst (cons 11 (list pt2x pt1y) (assoc 11 endata) endata)))  ;;;;;; 用这句话为什么不可以?
  •                         (setq i (1+ i))
  • )
  •         (princ)
  • )

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2023-4-3 21:01:15 | 显示全部楼层
(defun c:tt(/ en endata entype)
(setq ss(ssget '((0 . "LINE"))))
    (setq i 0)
    (repeat (sslength ss)
       (setq en(ssname ss i))
       (setq endata(entget en))
       (setq pt1 (assoc 10 endata))
                         (setq pt2 (assoc 11 endata))
                         (setq pt1y (caddr pt1))
                        (princ pt1y)
                        (princ "\n")
                        (setq pt2x (cadr pt2))
                        (princ pt2x)
                        (princ "\n")
;;;                        (entmake (list '(0 . "LINE") pt1 (cons 11 (list pt2x pt1y))))
;;;                        (entdel en)
        (entmod (subst (cons 11 (list pt2x pt1y 0)) (assoc 11 endata)  endata)) ;;;;;; 用这句话为什么不可以?

                        (setq i (1+ i))
)
        (princ)
)
 楼主| 发表于 2023-4-3 23:09:45 | 显示全部楼层
tigcat 发表于 2023-4-3 21:01
(defun c:tt(/ en endata entype)
(setq ss(ssget '((0 . "LINE"))))
    (setq i 0)

感谢,感谢!
发表于 2023-4-4 12:03:52 | 显示全部楼层
ENTMOD最大的一个前提,-1组指定的图元名代码表的图元还存在。。。
发表于 2023-4-4 12:14:41 | 显示全部楼层
  1. (cons 11 (list pt2x pt1y)
复制代码
改成
  1. (cons 11 (list pt2x pt1y  0.0)
复制代码
是不是这样呢?我觉得应该坐标三个点,再加上11
具体我没仔细研究
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 13:26 , Processed in 0.170387 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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