乐筑天下

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

[编程交流] 特定尺寸提取

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:09:51 | 显示全部楼层 |阅读模式
您好,我看到很多人有类似的要求。我有一个不同的问题,我只需要提取每个单独窗口的随附DWG文件中标注为“F.S.”的尺寸。Excel文件应与所附图像相似。因此,使用的方法需要识别窗口名称(A、B),并在Excel文件中列出相应窗口的尺寸。
任何帮助都将不胜感激!,提前谢谢!
立面图。图纸
170952kfzaa8ze8eb1ds7b.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:30:44 | 显示全部楼层
看看你的dwg,我会做出以下评论,是的,你可以选择3个DIM并写入excel,就我而言,我会更深入地研究包含来自窗框尺寸的不可见属性的“A”块,这样做更容易。虽然我不画窗口作为一个标准,我也会看看动态块,再次点击一次,并获得有关该窗口的所有信息。
 
把前端放在这类东西上可以节省很多时间,回答这十个问题,然后全部完成。
 
这是一大步,但在座的其他人可能会同意,你永远不会回头,产量将增加。比尔:有什么评论吗?
 
无论如何,如果有人不打败我,我会尽力为你做点什么。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:43:07 | 显示全部楼层
我有点让它工作,因为我的工作指标,这将是完美的工作脚增加了开销,其他人可能知道一种方法,但它确实增加了价值的电子表格,因为你选择。
 
  1. ; this will read various objects in the dwg
  2. ; its hard coded for a fileame for testing  change to pick file name
  3. ; using findfile etc
  4. ; it is hard coded for 3 picks
  5. ; picking dims returns the measurement so UNITS must be reset
  6. (defun objectis  (obj / )
  7. (setq objname (vla-get-objectName obj))
  8. (cond
  9. ((= objname "AcDbText")(setq txtstr (vla-get-textstring obj)))
  10. ;((= objname "AcDbMText")(stripmtxt))
  11. ((= objname "AcDbMText")(setq txtstr (vla-get-textstring obj)))
  12. ((= objname "AcDbRotatedDimension")(setq txtstr (rtos (vla-get-measurement obj)5 3)))
  13. )
  14. (if (= txtstr nil)(alert "object not supported"))
  15. )
  16. (defun stripmtxt ( / )
  17. (setq txtstr (vla-get-textstring obj))
  18. (setq txtstr (LM:UnFormat (txtstr T )))
  19. )
  20. (defun c:doentry ( / obj)
  21. (setq col 1)
  22. (repeat 3
  23. (setq obj (vlax-ename->vla-object (car (entsel "\nPick object"))))
  24. (setq row (+ maxrow# 1))
  25. (objectis obj)
  26. (setq txtstr (vl-string-subst "" "F.S." TxtStr))
  27. (alert txtstr)
  28. (PutCell (strcat (NUMBER2ALPHA COL) (rtos Row 2 0)) txtstr )
  29. (setq col (+ col 1))
  30. )
  31. (setq maxrow# (+ maxrow# 1))
  32. )
  33. (defun c:doclose ( / )
  34. (CLOSEEXCEL "C:\\temp\\elwidht.XLS")
  35. )
  36. )
  37. ;------------------------------------------------------------------------------------------------
  38. ; starts here
  39. ;------------------------------------------------------------------------------------------------
  40. (if (not openexcel)(load "getexcel.lsp"))
  41. (if (not  LM:UnFormat)(load "Unformat-mtext-string"))
  42. ; hard coded for testing excel must exist
  43. (OpenExcel "C:\\Temp\\elwidht.xlsx" "Sheet1" t)
  44. ; need this to find max row col as exists
  45. (setq excelrc (VLAX-GET-PROPERTY *EXCELAPP%  'selection))
  46. ; only need to run once
  47. (SETQ MAXROW# (VLAx-GET-PROPERTY excelrc 'Row))
  48. (SETQ MAXCOLUMN# (VLAX-GET-PROPERTY excelrc 'column))
  49. ; start for 1st time when loading
  50. (c:doentry)

获取Excel。lsp
埃尔维特。xlsx公司
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:01:48 | 显示全部楼层
谢谢你的帮助,我看到你几乎得到了它的工作,我不知道该做什么后,我上传了。LSP,但我确实注意到Excel文件中的29 3/8“尺寸列在高度下,而它本应是宽度。此外,请记住,我只需要列出“F.S.”尺寸(可能会使事情更容易)。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:15:52 | 显示全部楼层
拾取顺序只是按所需顺序拾取3个对象。FS不计算,因为返回的值是测量值而不是文本。在测试期间,我将dim分解了几次,以获得文本形式的值。
 
dim命令将“测量值”自动转换为英尺和分数英寸。我计算出它需要(rtos x 5 3)十进制英寸加分数
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-21 01:54 , Processed in 0.417063 second(s), 66 queries .

© 2020-2025 乐筑天下

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