乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 93|回复: 3

[编程交流] 块插入时的节点

[复制链接]

4

主题

13

帖子

9

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 15:22:44 | 显示全部楼层 |阅读模式
我在fuccaro发布的这个论坛上发现了这个lisp代码,他说可以修改它,在圆和线处插入节点,但我无法通过添加(=零“线”)使其工作。有谁知道如何帮助我,特别是如何使其与块一起工作吗。
 
非常感谢。
 
 
 
 
; 在多段线顶点处绘制点
; 和(M)个文本插入点
;;; mfuccaro@hotmail.com 09.06.2003
;
(defun c:pts(/ss i首先删除零)
(setvar“CMDECHO”0)
(命令“UNDO”“begin”)
(setq ss(ssget)i 0)
(重复(sslength ss)
(setq elist(entget(ssname ss i))
零(cdr(assoc 0 elist)))
(如果(或(=零“TEXT”)(=零“MTEXT”)(=零“LWPOLYLINE”))
(当elist
(setq first(car elist)elist(cdr elist))
(if(=10(车辆优先))(命令“点”(cdr优先))
))
(setq i(1+i))
)
(命令“undo”“end”)
(setvar“CMDECHO”1)
(普林斯)
)
回复

使用道具 举报

0

主题

269

帖子

279

银币

限制会员

铜币
-4
发表于 2022-7-6 16:01:39 | 显示全部楼层
似乎它应该与“line”一起使用,您是这样添加的吗
 
(如果(或(=零“TEXT”)(=零“MTEXT”)(=零“LWPOLYLINE”)(=零“LINE”))
 
要使其仅与块一起工作,请使用这条线;
 
(如果(=零“插入”)
 
整个文件仅针对块插入上的节点进行修改;
 
  1. ; Draw POINTs at BLOCK insert points
  2. ;;;; [email="mfuccaro@hotmail.com"]mfuccaro@hotmail.com[/email] 09.06.2003
  3. ;;; modied by CAB 1.06.09
  4. (defun c:pts ( / ss i elist InsPt)
  5.   (setvar "CMDECHO" 0)
  6.   (command "UNDO" "begin")
  7.   (setq ss (ssget '((0 . "INSERT"))) i 0) ;filters for inserts
  8.   (repeat (sslength ss)
  9.      (setq elist (entget (ssname ss i))
  10.      (setq InsPt (cdr (assoc 10 elist)))
  11.      (command "POINT" insPt)
  12.      (setq i (1+ i))
  13.   )
  14.   (command "undo" "end")
  15.   (setvar "CMDECHO" 1)
  16.   (princ)
  17. )
回复

使用道具 举报

4

主题

13

帖子

9

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 16:06:14 | 显示全部楼层
非常感谢CarlB,它工作得很好。
它以前不工作,可能是我把PDnode设置得太小了,它没有显示。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 16:28:16 | 显示全部楼层
 
缺少1个支架
 
  1. ; Draw POINTs at BLOCK insert points
  2. ;;;; [email="mfuccaro@hotmail.com"]mfuccaro@hotmail.com[/email] 09.06.2003
  3. ;;; modied by CAB 1.06.09
  4. (defun c:pts ( / ss i elist InsPt)
  5.   (setvar "CMDECHO" 0)
  6.   (command "UNDO" "begin")
  7.   (setq ss (ssget '((0 . "INSERT"))) i 0) ;filters for inserts
  8.   (repeat (sslength ss)
  9.      (setq elist (entget (ssname ss i))[b][color=Red])[/color][/b]
  10.      (setq InsPt (cdr (assoc 10 elist)))
  11.      (command "POINT" insPt)
  12.      (setq i (1+ i))
  13.   )
  14.   (command "undo" "end")
  15.   (setvar "CMDECHO" 1)
  16.   (princ)
  17. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 18:00 , Processed in 0.411482 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表