乐筑天下

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

[编程交流] 使用特定部分保存

[复制链接]

4

主题

33

帖子

29

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 16:05:01 | 显示全部楼层 |阅读模式
你好
 
我正在尝试一种方法,从多个具有不同文件名的相同图形(我有1000个文件)中保存,其中仅包含整个图形中的特定部分,该部分需要包含命名部分作为图形编号。
此图形中没有块或任何属性。
 
例如,请参阅附件
 
我需要保存名为630的绘图,该绘图与绘图编号相同。
 
如果绘图编号为631,则需要删除除631以外的所有其他绘图。
现在我正在做的是从每个图形中删除不需要的绘图,并分别保存每个图形。
 
我希望你能得到我的要求。
 
任何人有解决这个问题的想法,请与我分享。。
 
 
提前感谢……:):)
170501dvqx6pr5m5a5ffxs.jpg
630.dwg
回复

使用道具 举报

2

主题

261

帖子

20

银币

初来乍到

Rank: 1

铜币
8
发表于 2022-7-5 16:09:56 | 显示全部楼层
如果满足以下条件,则可以这样做(但时间很长):
-所有文件都像一个示例
-单独图层上的多段线,此图层上没有其他元素
-在单独的层上编号,此层上没有其他元素
-等等。
您需要查看完整文件。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:13:24 | 显示全部楼层
您可以找到文本插入点,然后使用(命令“bpoly”pt“”)创建绘图的新pline,获取坐标,然后编写一个脚本文件,其中所有绘图的开头都是new,最后是saveas绘图编号。角点也需要移动吗?输出是否保存在dwg模板中?或者使用open而不是new,它需要一个缩放因子,但使用extmin和extmax也很容易。明显的东西,如层等
 
  1. new
  2. pline
  3. x,y x,y x,y x,y c
  4. text plotmum....
  5. saveas
  6. plotnum
  7. close
  8. new
  9. pline
  10. x,y x,y x,y x,y c
  11. text plotnum ......
  12. saveas
  13. plotnum
  14. saveas
  15. close

 
也许是Lisp程序的脚本
  1. (do_lots 621 pt1 pt2 pt3 pt4)
  2. (do_lots 622 pt1 pt2 pt3 pt4)
回复

使用道具 举报

32

主题

430

帖子

423

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
150
发表于 2022-7-5 16:16:03 | 显示全部楼层
为什么631图是唯一的开放多边形?
170504pzq7h67bip6d30zl.png
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:20:03 | 显示全部楼层
试试这个,它被设置为一个测试,需要一点用户修改,我已经将重复功能设置为3进行测试,它创建了3个新的dwg。它是为了寻找一个c:\temp目录进行测试,所以在那里写下了新的。我把一个空白的dwg版本叫做PLOTS保存到c:\temp中,当我打开它,把新的绘图放在这个dwg中,这样图层或任何其他东西仍然存在。
 
重要的一点是,它不会检查现有的dwg,因此如果它已经存在,则会出错。它需要知道输出的位置等,但这可以添加。
 
试着让我知道。
 
进行3个绘图
  1. ; pline co-ords example
  2. ; By Alan H
  3. (defun getcoords (ent)
  4. (vlax-safearray->list
  5. (vlax-variant-value
  6. (vlax-get-property
  7. (vlax-ename->vla-object ent)
  8. "Coordinates"
  9. )
  10. )
  11. )
  12. )
  13. ; program starts here
  14. ; writes out a bpoly of a plot and the label for that plot
  15. ; to a brand new file of just that plot
  16. (defun do_lots ( / ss x y fn)
  17. (setq oldsnap (getvar 'osmode))
  18. (setvar 'osmode 0)
  19. (setq ss (ssget "X" (list (cons 0 "*text")(cons 8 "Villa Numbers"))))
  20. (setq fn (open "C:\\temp\\plots.scr" "W"))
  21. (setq x 0) ; rem this out for all plots
  22. (repeat 3  ; for testing
  23. ;(repeat (sslength ss) for all
  24. (setq txt (vlax-ename->vla-object (ssname ss x)))
  25. (setq txtstr (vla-get-textstring txt))
  26. (setq txtins (vlax-safearray->list (vlax-variant-value (vla-get-insertionpoint txt))))
  27. (command "bpoly" txtins "")
  28. (setq co-ords (getcoords (entlast)))
  29. (command "erase" "l" "")
  30. (write-line "open C:/Temp/Plots.dwg" fn)
  31. (write-line "clayer" fn)
  32. (write-line (strcat """ "Villa Plot Limits" """) fn)
  33. (write-line "Pline" fn)
  34. (setq y 0)
  35. (repeat (/ (length co-ords) 2)
  36. (write-line (strcat (rtos  (nth y co-ords) 2 3 ) "," (rtos (nth (+ y 1) co-ords) 2 3)) fn)
  37. (setq y (+ y 2))
  38. )
  39. (write-line "c" fn)
  40. (write-line "zoom extents" fn)
  41. (write-line "Text" fn)
  42. (write-line (strcat (rtos (nth 0 txtins) 2 3) "," (rtos (nth 1 txtins) 2 3 )) fn)
  43. (write-line  "2.0" fn)
  44. (write-line "0" fn)
  45. (write-line txtstr fn)
  46. (write-line "filedia" fn)
  47. (write-line "0" fn)
  48. (write-line "saveas" fn)
  49. (write-line "2013" fn)
  50. (write-line (strcat "C:/temp/" txtstr) fn)
  51. (write-line "close" fn)
  52. (setq x (+ x 1))
  53. )
  54. (close fn)
  55. (setvar 'osmode oldsnap)
  56. )
  57. (do_lots)
  58. (command "script" "c:\\temp\\plots")
回复

使用道具 举报

4

主题

33

帖子

29

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 16:21:39 | 显示全部楼层
 

 
这将需要一个漫长的过程来创建一条捷径。
比加尔的指示也很好,但这一次没有足够的时间来加快它。
因此,对于这个案例,我正在完成1000张图纸的路上,已经完成了半天的1/3。
 
这次运气不好。。。
我们将在以后找到解决此问题的方法。。。8)8)
 
感谢你们的大力支持和宝贵指示:)
回复

使用道具 举报

4

主题

33

帖子

29

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 16:24:46 | 显示全部楼层
嗨,比格尔,
 
给我一点时间来测试你的程序,当然我会尽快让你知道反馈。
 
再次。。。。非常感谢BIGAL…:)
回复

使用道具 举报

4

主题

33

帖子

29

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 16:28:21 | 显示全部楼层
比加尔,
 
你能给我提供完整版本的LISP吗。。。。。这一次更有帮助。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 16:32:03 | 显示全部楼层
以下是我的尝试:
回复

使用道具 举报

4

主题

33

帖子

29

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-5 16:36:21 | 显示全部楼层
 
但是你需要钱。。。
多少钱?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 21:22 , Processed in 0.527183 second(s), 75 queries .

© 2020-2025 乐筑天下

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