乐筑天下

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

[编程交流] 用于upda的Excel电子表格

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 15:59:49 | 显示全部楼层 |阅读模式
我不知道这是否可行,但我不得不问一下。如果我有一个Excel电子表格,其中有一个零件号列表,我可以将其导入AutoCAD,以便它可以在我想要的地方加载预制的3d块吗。
例如,我有一个仓库图纸,其中包含存储在特定位置的特定零件。我已经为每个部分绘制了方块图。我有一张Excel表格,上面有零件号列表。有没有办法导入Excel表,让它在透视位置用零件图块填充仓库图纸?
 
谢谢
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:19:05 | 显示全部楼层
有几种不同的方法可以做到这一点,我做了一些类似的事情,这是我们的办公室员工的图片,显示他们所在的位置,每一张图片。jpg有一个唯一的Id(电话号码),例程会找到phnum并在这个位置插入图像。
 
您可以在excel中指定x,y或使用我建议的方法。代码可以从excel中读取、读取csv或运行脚本。
 
底线必须有某种形式的链接块到一个位置。
 
提供更多细节,可能是dwg和excel。
回复

举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:19:54 | 显示全部楼层
这听起来像是我想做的。我有一个位置列表,按顺序1,2,3。。。我只是不知道如何在autocad中进行设置,。我只需要导入Excel文件吗?我想我只需要玩一下,看看能不能让它工作。
回复

举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:34:18 | 显示全部楼层
如果有一个简单块,其属性为数字,则可以找到所有块,并通过匹配数字12=part52 13=part47在此位置插入一个新块。
 
一个例子
  1. ; [color="red"]make a selection set of block name  phnum[/color]
  2. (setq ss1 (ssget "x"  (list (cons 0 "INSERT") (cons 2 "phnum"))))
  3. ; [color="red"] how many blocks[/color]
  4. (setq len (sslength ss1))
  5. (setq x 0)
  6. ; [color="red"]repeat the process for each block[/color]
  7. (repeat len
  8. ; [color="red"]et each block 1 at a time and retrieve its attrubutes[/color]
  9. (foreach att (vlax-invoke [color="red"](vla[/color]x-ename->vla-object (ssname SS1 x )) 'getattributes)
  10. ; [color="red"]test block tagname is phnum[/color]
  11.        (if (= "PHNUM" (strcase (vla-get-tagstring att)))  
  12.        (progn
  13. ; [color="red"]get the number from the atrribute[/color]
  14. (setq blknum (vla-get-textstring att))
  15. ; [color="red"]get the insertion point[/color]
  16.              (setq inspt (vla-get-insertionpoint att))
  17.        )
  18. )
  19. )
  20. ; [color="red"]name of image to be inserted change xxxx to correct directory[/color]
  21. (setq name (strcat "P:\\xxxxx\" blknum ".jpg"  ))
  22. (princ (strcat "\n" name))
  23. ; [color="red"]add the raster image name insertion pt scale rotation[/color]
  24. (vla-AddRaster mspace name inspt 1.5 0.0)
  25. )
回复

举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 16:43:39 | 显示全部楼层
我可能在这里挖洞。我想编程代码不是我以前添加到AutoCAD中的东西。在AutoCAD的每个块中,我到底在哪里插入代码,还是需要一些插件/额外的软件来读取代码?
 
谢谢你的帮助
 
 
回复

举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:59:42 | 显示全部楼层
我在上面的代码中添加了注释,以测试使用属性制作一个块并在其中放置一个数字,将图像另存为该数字。将xxxx更改为图像所在的目录名,将phnum更改为块名,然后查看它是否有效。
 
您只需将代码保存到文本文件,使用记事本,复制和粘贴,但另存为。LSP不是TXT,然后可以使用“Appload”加载文件,并在命令行上运行或键入(加载“myfile”),或者从资源管理器或菜单拖放。
 
(加载文件名)文件名的Ps必须位于Autocad支持路径中,并且在旧版本的Autocad中必须是受信任的位置,以避免出现警告消息。
 
你需要发布一个dwg和excel来了解你想要什么。
回复

举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 17:01:29 | 显示全部楼层
我已经将您的帖子转移到AutoLISP、Visual LISP和DCL论坛。
回复

举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 21:57 , Processed in 1.717245 second(s), 66 queries .

© 2020-2025 乐筑天下

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