乐筑天下

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

[编程交流] 块插入不工作sa

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:02:27 | 显示全部楼层 |阅读模式
附加的lisp例程在AutoCAD 2011中运行良好,但在2012年表现有点奇怪。它将引入块,但不会像以前那样正确地打开属性对话框。我必须在所有属性中按enter键,而不仅仅是使用对话框。
比我聪明的人能知道AutoCAD 2012中这个例程现在会发生什么吗?
非常感谢。
基思
dcut。lsp
BUB。图纸
回复

使用道具 举报

0

主题

9

帖子

9

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 09:14:15 | 显示全部楼层
kabcad;我没有测试你的例程,但听起来很像你需要将图形ATTDIA中的设置更改为1,同样的事情在2002年发生在我身上,当时我的对话框被该变量抑制。当ATTDIA设置为0时,必须在提示下手动输入块属性。(我没有仔细检查属性对话变量的名称,我没有时间,但如果我搞错了,你可以挖掘它。)。祝你好运
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:20:06 | 显示全部楼层
谢谢,但我检查了这个变量,它已经设置为1了。如果我使用基本的insert命令引入块,它会正常工作(出现对话框),但使用lisp例程则不会。
回复

使用道具 举报

0

主题

9

帖子

9

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 09:29:17 | 显示全部楼层
好的,而且我还在2002年,我们有2011年,但我们没有必要迁移到它。看起来我可能很快就会这么做,因为它确实有一些以前版本没有的很酷的功能。
 
我刚刚想到,也许你的例程中有什么东西正在将该变量更改回“0”。只是一个想法。
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 09:33:59 | 显示全部楼层
查看ATTREQ是否为1。
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 09:42:11 | 显示全部楼层
我想2012年ATTREQ有一个bug。
插入块时,请尝试以下操作:
  1. (command "_.ddedit" (entlast))

k
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 09:48:25 | 显示全部楼层
 
k-
在lisp例程中,我将在哪里插入这行代码?
谢谢
kb
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 09:55:56 | 显示全部楼层
试试这个:
  1. (defun c:BU (/ *error* CE VL OV)
  2. (defun *error* (Msg)
  3.    (if
  4.      (= 8 (logand 8 (getvar "UNDOCTL")))
  5.      (command "._undo" "_e")
  6.    )
  7.    (if (not (member MSG '("Function cancelled" "quit / exit abort")))
  8.      (princ (strcat "\nError: " MSG))
  9.    )
  10.    (mapcar 'setvar VL OV)
  11.    (setvar "CMDECHO" CE)
  12.    (princ)
  13. )
  14. (setq CE (getvar "CMDECHO"))
  15. (setvar "CMDECHO" 0)
  16. (command "._undo" "_be")
  17. (setq VL (list "ATTDIA" "ATTREQ" "CLAYER" "DIMSCALE" "ORTHOMODE")
  18.        OV (mapcar 'getvar VL)
  19. )
  20. (command "._layer" "_m" "DETCUT" "_c" 4 "" "")
  21. (setvar "ATTDIA" 1)
  22. (setvar "ATTREQ" 1)
  23. (setvar "ORTHOMODE" 1)
  24. (princ "\nInsertion point: ")
  25. (command "._insert" "BUB" "_s" (/ (getvar "DIMSCALE") 96.) "_r" pause pause)
  26. (while (/= (getvar "CMDNAMES") "")
  27.    (command pause)
  28. )
  29. (command "_.ddedit" (entlast))
  30. (command)
  31. (command "._undo" "_e")
  32. (mapcar 'setvar VL OV)
  33. (setvar "CMDECHO" CE)
  34. (princ)
  35. )
  36. (princ)

k
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:02:36 | 显示全部楼层
 
克鲁格,
非常感谢您在这方面所做的努力。我尝试了这段代码,它成功了,但与以前不同的是,它会打开“属性编辑器”对话框,而不是“属性输入”对话框。这有意义吗?我已经在BUB中定义了属性。dwg块,所以我需要做的就是在块插入到图形中后更改值(详图切割编号和图纸编号)。
再次感谢你帮我做这件事。。。
基思
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 05:58 , Processed in 0.390999 second(s), 70 queries .

© 2020-2025 乐筑天下

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