乐筑天下

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

[编程交流] 需要一些代码的帮助

[复制链接]

26

主题

149

帖子

127

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 07:24:33 | 显示全部楼层 |阅读模式
大家好。
 
有人能帮我处理这个代码吗?它不会将块重命名为“FT”
 
  1. (while
  2. (setq Myblk (tblnext "BLOCK" (null Myblk)))
  3.   (if (eq (cdr (assoc 2 Myblk)) "FT")
  4.     (progn
  5.       (setq entlst (entget (tblobjname "BLOCK" (cdr (assoc 2 Myblk)))))
  6.       (entmod (subst (cons 2 "CO") (assoc 2 entlst)
  7.           entlst
  8.         )
  9. ))))
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:38:14 | 显示全部楼层
  1. (if (setq ent (tblobjname "BLOCK" "FT"))
  2.    (entmod (subst '(2 . "CO") '(2 . "FT") (entget (cdr (assoc 330 (entget ent))))))
  3. )
回复

使用道具 举报

26

主题

149

帖子

127

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 07:46:00 | 显示全部楼层
谢谢李。
 
为什么使用代码330?我看到它是指向所有者对象的330个软指针ID/handle,我不明白它是什么意思。
 
谢谢XXXXX
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 07:51:29 | 显示全部楼层
 
如果不重新定义块定义(具有相同名称的所有块的所有者),则不能仅重命名单个块参照。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 07:57:31 | 显示全部楼层
 
哇,我不知道
 
太酷了
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:08:02 | 显示全部楼层
 
不客气!
 
 
330 DXF组码始终是指向父/所有者实体的指针,在这种情况下是块记录实体(AcDbBlockTableRecord对象),它是块实体(AcDbBlockBegin对象)的父实体。AcDbBlockTableRecord对象是在Visual LISP块集合中找到的对象,应重命名该实体/对象以重命名图形中块的所有引用。
 
每个AutoCAD块定义都使用以下图元层次:
 
  1. +-- [color="darkred"]TABLE[/color] ([color="navy"]AcDbBlockTable[/color])
  2. |
  3. +--+-- [color="darkred"]BLOCK_RECORD[/color] ([color="navy"]AcDbBlockTableRecord[/color])
  4.   |
  5.   +--+-- [color="darkred"]BLOCK[/color] ([color="navy"]AcDbBlockBegin[/color])
  6.      |
  7.      +--+-- [i][color="green"]< Block Geometry Entity >[/color][/i]
  8.         |
  9.         +-- [i][color="green"]< Block Geometry Entity >[/color][/i]
  10.         |
  11.        ...
  12.         |
  13.         +-- [i][color="green"]< Block Geometry Entity >[/color][/i]
  14.         |
  15.         +-- [color="darkred"]ENDBLK[/color]
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:10:29 | 显示全部楼层
 
干杯伙计
回复

使用道具 举报

5

主题

1334

帖子

1410

银币

限制会员

铜币
-20
发表于 2022-7-6 08:18:45 | 显示全部楼层
我做了一些研究:
 
阻碍
 
  1. [color=brown]
  2. (if (setq ent (tblobjname "BLOCK" "FT"))
  3.      (entmod (subst '(2 . "CO") '(2 . "FT") (entget (cdr (assoc 330 (entget ent))))))
  4. )[/color]
  1. 4层
  2.  
  3. “0”层不能重命名,但可以设置颜色(更改为“红色”-颜色1)
  4. 视图
  5.  
  6. 空表视图(tblnext“view”T)=>零
  7. 首先创建视图“MR”
  8. [code]
  9. (if (setq ent (tblobjname "VIEW" "MR"))
  10.      (entmod (subst '(2 . "VR") '(2 . "MR") (entget ent)))
  11. )
L类型
 
“Continuous”ltype无法修改,因此您必须加载新的ltype
首先加载ltype“虚线”
  1. (if (setq ent (tblobjname "LTYPE" "Dashed"))
  2.      (entmod (subst '(2 . "MR") '(2 . "Dashed") (entget ent)))
  3. )
样式
 
“标准”样式不能重命名,但可以将字体设置为它(更改为“simplex.shx”)
  1. (if (setq ent (tblobjname "STYLE" "Standard"))
  2.      (entmod (subst '(3 . "simplex.shx") '(3 . "arial.ttf") (entget ent)))
  3. )
UCS
 
空表ucs(tblnext“ucs”T)=>零
首先保存ucs“MR”
尺寸样式
 
“标准”dimstyle无法重命名和修改
首先保存dimstyle“MR”
  1. 10
V端口
 
空表vport(tblnext“vport”T)=>nil
首先创建vport“MR”
  1. 11
appid
 
“ACAD”appid无法修改,因此无法使用
  1. 12
M.R。
回复

使用道具 举报

26

主题

149

帖子

127

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2022-7-6 08:27:35 | 显示全部楼层
谢谢李的精彩解释
 
还感谢Marko提供的好例子。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 04:58 , Processed in 0.554235 second(s), 70 queries .

© 2020-2025 乐筑天下

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