明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 360|回复: 8

封闭多段线向内侧偏移150后在新多段线各节点处画直径为100的圆(LISP语言)

[复制链接]
发表于 2023-8-4 17:03 | 显示全部楼层 |阅读模式
10明经币

附件: 您需要 登录 才可以下载或查看,没有账号?注册
 楼主| 发表于 2023-8-4 17:28 | 显示全部楼层
刚才自己研究了一下,已解决
回复

使用道具 举报

发表于 2023-8-4 17:49 | 显示全部楼层
回复

使用道具 举报

发表于 2023-8-4 22:14 | 显示全部楼层
我也瞎玩一下
(defun C:NM (/ ent newent obj)
        (setq ent(car(entsel "\n請拾取"))
                obj(vla-Offset (vlax-ename->vla-object  ent) -150)
        )
        (vla-put-linetype (vlax-ename->vla-object (setq newent(entlast))) "HIDDEN")
        (vla-put-color (vlax-ename->vla-object newent) 1)
        (mapcar '(lambda(a)   
                                                 (entmakex (list '(0 . "circle") (cons 10 a) (cons 40 100)))
                                                 (vla-put-color (vlax-ename->vla-object (entlast)) 6)
                                         )       
                (mapcar 'cdr
                        (vl-remove-if-not '(lambda (x) (= (car x) 10))(entget newent))
                )
        )       
        (princ)
)
回复

使用道具 举报

发表于 2023-8-5 06:55 | 显示全部楼层
xj6019 发表于 2023-8-4 22:14
我也瞎玩一下
(defun C:NM (/ ent newent obj)
        (setq ent(car(entsel "\n請拾取"))

大佬,请教一下为啥我的会提示"错误: 输入的字符串有缺陷"的错误呢?
回复

使用道具 举报

发表于 2023-8-5 07:48 | 显示全部楼层
czb203 发表于 2023-8-5 06:55
大佬,请教一下为啥我的会提示"错误: 输入的字符串有缺陷"的错误呢?

应该是当前文件内没有HIDDEN这个虚线线型,自己在当前文件内添加线型后再试,或者把下面一句删掉再试:
(vla-put-linetype (vlax-ename->vla-object (setq newent(entlast))) "HIDDEN")
回复

使用道具 举报

发表于 2023-8-5 12:47 | 显示全部楼层
本帖最后由 czb203 于 2023-8-5 12:53 编辑
xj6019 发表于 2023-8-5 07:48
应该是当前文件内没有HIDDEN这个虚线线型,自己在当前文件内添加线型后再试,或者把下面一句删掉再试:
  ...

好的,感谢解疑答惑,删除了还是不行哦,有版本要求吗~
回复

使用道具 举报

发表于 2023-8-5 13:15 | 显示全部楼层
czb203 发表于 2023-8-5 12:47
好的,感谢解疑答惑,删除了还是不行哦,有版本要求吗~

那你这么试试,这样应该可以的
(defun C:NM (/ ent newent obj)
        (setq ent(car(entsel "\n請拾取"))
                obj(vla-Offset (vlax-ename->vla-object  ent) -150)
                newent(entlast)
        )
        ;(vla-put-linetype (vlax-ename->vla-object newent) "HIDDEN")
        (vla-put-color (vlax-ename->vla-object newent) 1)
        (mapcar '(lambda(a)   
                                                 (entmakex (list '(0 . "circle") (cons 10 a) (cons 40 100)))
                                                 (vla-put-color (vlax-ename->vla-object (entlast)) 6)
                                         )      
                (mapcar 'cdr
                        (vl-remove-if-not '(lambda (x) (= (car x) 10))(entget newent))
                )
        )      
        (princ)
)
回复

使用道具 举报

发表于 2023-8-5 14:25 | 显示全部楼层
xj6019 发表于 2023-8-5 13:15
那你这么试试,这样应该可以的
(defun C:NM (/ ent newent obj)
        (setq ent(car(entsel "\n請拾取"))

奇怪还是老问题,显示输入的字符串有缺陷
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 15:35 , Processed in 1.256882 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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