乐筑天下

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

[编程交流] 此dwg索引l的错误帮助

[复制链接]

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:59:41 | 显示全部楼层 |阅读模式
我创建了一个dwg索引lsp,它有两个部分,从单独布局的标题栏中读取信息,然后创建一个表。
 
我分别运行这两个部分,当一起在创建带有错误的表时停止处理错误时,它就会工作。
 
错误:发生异常:0xC0000005(访问冲突)
; 警告:未知异常时跳过了展开
 
  1. ; dwg index to a table
  2. ; by Alan H NOV 2013
  3. ;(defun AH:dwgindex (/ doc lay ans ans2 plotabs len ss1 tag2 tag3 list1 list2 clayout colwidth numcolumns numrows objtable rowheight )
  4. (defun AH:dwgindex (/ doc ans ans2 plotabs len ss1 tag2 tag3 )
  5. (vl-load-com)
  6. (setq curlayout (getvar "ctab"))
  7. (if (= clayout "Model")
  8. (progn
  9. (Alert "You need to be in a layout for this option")
  10. (exit)
  11. )
  12. )
  13. (setq doc (vla-get-activedocument (vlax-get-acad-object)))
  14. (setq curspace (vla-get-paperspace doc))
  15. (vlax-for lay (vla-get-Layouts doc)
  16. (setq plotabs (cons (vla-get-name lay) plotabs))
  17. )
  18. (setq pt1 (vlax-3d-point (getpoint "\nPick point for top left hand of table:  ")))
  19. ;(setq pt1 (vlax-3d-point '(0 0 0)))
  20. ; for testing
  21. ; read values from title blocks
  22. (setq len (length plotabs))
  23. (setq x 0)
  24. (setq bname "DA1DRTXT")
  25. (setq tag2 "DRG_NO") ;attribute tag name
  26. (setq tag3 "WORKS_DESCRIPTION") ;attribute tag name
  27. ;(setq list1 ""
  28. ;      list2 "")
  29. (repeat len
  30. (setq tabname (nth x plotabs))
  31. (if (/= tabname "Model")
  32.    (progn
  33.      (setvar "ctab" tabname)
  34.      (setq ss1 (ssget "x"  (list (cons 0 "INSERT") (cons 2 bname)(cons 410 tabname))))
  35.      (foreach att (vlax-invoke (vlax-ename->vla-object (ssname SS1 0 )) 'getattributes)
  36.        (if (= tag2 (strcase (vla-get-tagstring att)))
  37.            (progn
  38.     (setq ans (vla-get-textstring att))
  39.            (if (/= ans NIL)
  40.       (setq list1 (cons ans list1))
  41.     )
  42.            ); end progn
  43.   ) ; end if
  44.        (if (= tag3 (strcase (vla-get-tagstring att)))
  45.   (progn
  46.     (setq ans2 (vla-get-textstring att))
  47.     (if (/= ans2 NIL)
  48.              (setq list2 (cons ans2 list2))
  49.            ) ; end if
  50.         ) ; end progn
  51.        ) ; end if
  52.       ) ; end foreach
  53.    ) ; end progn
  54. ) ; end if
  55. (setq x (+ x 1))
  56. ) ; end repeat
  57. (setvar "ctab" curlayout)
  58. (command "Zoom" "E")
  59. (command "regen")
  60. (alert "layouts done")
  61. ; now do table
  62. (setq numrows 5)
  63. (setq numcolumns 5)
  64. (setq rowheight 0.5)
  65. (setq colwidth 30)
  66. (setq objtable (vla-addtable curspace pt1 numrows numcolumns rowheight colwidth))
  67. (vla-settext objtable 0 0 "DRAWING REGISTER")
  68. (vla-settext objtable 1 0 "DRAWING NUMBER")
  69. (vla-settext objtable 1 1 "DRAWING TITLE")
  70. ;(SETQ ANS (NTH 0 LIST1))
  71. ;(vla-settext objtable 1 2 ANS)
  72. ;(vla-settext objtable 1 3 (NTH 0 LIST1))
  73. (vla-settext objtable 1 4 "E")
  74. (vla-settext objtable 2 0 "1") ; NUMBER
  75. (vla-settext objtable 3 0 "2")
  76. (vla-settext objtable 4 0 "3")
  77. (command "_zoom" "e")
  78. ); end table defun
  79. (AH:dwgindex)
  80. (princ)
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 00:22:46 | 显示全部楼层
 
零必须替换为变量x
 
尽管您可以用更少的代码行重写代码。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 00:27:30 | 显示全部楼层
 
我猜BIGAL希望确保如果布局选项卡上有多个“DA1DRTXT”,它将只处理一个块。
 
@比加尔
随便。是的,它将以其他方式编写,不过有一个建议,您不需要通过布局选项卡来生成变量的值。列表1和列表2。
 
顺便说一句:我运行代码时,似乎无法复制您发布的错误消息。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:40:12 | 显示全部楼层
Pbe的0只是检查第一次出现的一个块在选项卡中,我会虽然有一个看不打开每个布局的原始代码修改了标题栏细节在个别布局,使他们在更新链接。
 
最近我的电脑有一些问题,所以我可能会剪切并粘贴整个代码,以防它们是文本文件中的隐藏字符。
 
我会在另一台电脑上试试,我们有很多。
 
在其他电脑上工作正常,所以问题是我的电脑会在内存等上运行低级诊断,看看我是否能找到问题。
 
感谢您的帮助,我们将在完成后更新代码,供其他人使用。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 00:51:38 | 显示全部楼层
改变了一些事情,比如不用担心打开布局,现在它在我的电脑上工作了,我不知道为什么。现在只需将单元格项排序,还有几个其他问题,但将单独发布,因为这与修改表的外观有关。
 
谢谢你的帮助
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

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

铜币
211
发表于 2022-7-6 01:04:27 | 显示全部楼层
 
很好,霍勒,如果你需要更多帮助,比格尔
 
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:31 , Processed in 0.570379 second(s), 64 queries .

© 2020-2025 乐筑天下

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