乐筑天下

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

[编程交流] 我想修改我的lisp

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-9-6 17:16:36 | 显示全部楼层 |阅读模式
我想修改我搜索的lisp,发现将不同名称的动态块的属性更改为相同,那么我应该如何修改呢?
  1. ;; Match Dynamic Block Properties  -  Lee Mac;; Matches all dynamic block properties from a selected source dynamic block;; to all selected destination dynamic blocks of the same name.(defun c:dynmatch ( / blk des inc obj prp src )    (while        (progn (setvar 'errno 0) (setq src (car (entsel "\nSelect Source Dynamic Block: ")))            (cond                (   (= 7 (getvar 'errno))                    (princ "\nMissed, try again.")                )                (   (= 'ename (type src))                    (cond                        (   (/= "INSERT" (cdr (assoc 0 (entget src))))                            (princ "\nObject is not a block.")                        )                        (   (= :vlax-false (vla-get-isdynamicblock (setq src (vlax-ename->vla-object src))))                            (princ "\nBlock is not dynamic.")                        )                    )                )            )        )    )    (if        (and (= 'vla-object (type src))            (setq des                (LM:ssget "\nSelect Destination Dynamic Blocks: "                    (list "_:L"                        (list '(0 . "INSERT")                            (cons 2                                (strcat "`*U*,"                                    (setq blk (strcase (vla-get-effectivename src)))                                )                            )                        )                    )                )            )            (setq prp                (mapcar 'vla-get-value                    (vlax-invoke src 'getdynamicblockproperties)                )            )        )        (repeat (setq inc (sslength des))            (setq obj (vlax-ename->vla-object (ssname des (setq inc (1- inc)))))            (if (= (strcase (vla-get-effectivename obj)) blk)                (mapcar                    (function                        (lambda ( a b )                            (if (/= "ORIGIN" (strcase (vla-get-propertyname a)))                                (vla-put-value a b)                            )                        )                    )                    (vlax-invoke obj 'getdynamicblockproperties)                    prp                )            )        )    )    (princ));; ssget  -  Lee Mac;; A wrapper for the ssget function to permit the use of a custom selection prompt;;;; Arguments:;; msg    - selection prompt;; params - list of ssget arguments(defun LM:ssget ( msg params / sel )    (princ msg)    (setvar 'nomutt 1)    (setq sel (vl-catch-all-apply 'ssget params))    (setvar 'nomutt 0)    (if (not (vl-catch-all-error-p sel)) sel))(vl-load-com) (princ)
        
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-9-6 18:54:21 | 显示全部楼层
动态块之间的自定义属性是相同的。
回复

使用道具 举报

0

主题

16

帖子

44

银币

初来乍到

Rank: 1

铜币
16
发表于 2022-11-21 17:53:21 | 显示全部楼层
真是难得的好帖子啊
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:49 , Processed in 0.144282 second(s), 58 queries .

© 2020-2024 乐筑天下

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