找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

[已解决] 模型XYZ坐标数据如何在工程图创建表格?(例子及宏在19楼)

[复制链接]
11
发表于 2014-1-17 12:02:04 | 只看该作者
本帖最后由 灯具小翔 于 2014-1-17 12:42 编辑
Francis 发表于 2014-1-17 11:45
原來如此,那就繼續研究。

不過要先請問小翔:

回复闷大,请闷大看图:

这个工程图就是小翔目前工作必须完成的。
一般情况下,点的数目不会超过26,
A B C D也是小翔手动插入零件序号,但是A B C D是必须要有的
右上角的表格即是我手动插入M行N列,里面的坐标都是手动输入,包括X Y Z以及序号A B C。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
12
发表于 2014-1-17 12:42:45 | 只看该作者
灯具小翔 发表于 2014-1-17 12:02
回复闷大,请闷大看图:

这个工程图就是小翔目前工作必须完成的。

要自動建立“點序號”(可能是小翔的筆誤,寫成了“零件序號”)有一定困難,就算能自動加上了,其排列也未必理想。
初步構思:
1. 在模型點選3D草圖的點,建立注解手動填寫“點序號”
2. 以宏輸出這些注解的坐標及序號到一個外部文件(TXT)。
3. 在工程圖輸入模型項目,輸入那些注解到合適位置。
4. 以另一個宏,輸入剛才那個外部文件到工程圖並創建一個表格。
以上方法不存在關聯,設變後就要重做的。

13
发表于 2014-1-17 13:18:10 | 只看该作者
Francis 发表于 2014-1-17 12:42
要自動建立“點序號”(可能是小翔的筆誤,寫成了“零件序號”)有一定困難,就算能自動加上了,其排列也 ...

小翔在此先谢谢闷大的回复{:soso_e181:}
有2点还想和大家讨论一下:
1.这些注解的坐标用宏输出已经会了,但是序号不知如何输出{:soso_e149:}
尝试了几次都失败。
2. 以另一個宏,輸入剛才那個外部文件到工程圖並創建一個表格。
小翔是个宏盲,不知可否请哪位朋友演示一下
14
发表于 2014-1-17 13:30:34 | 只看该作者
不用表格直接標注可以嗎?
可以的話請參考以下鏈接:
https://www.icax.org/forum.php?mod=viewthread&tid=910647
15
发表于 2014-1-17 13:49:36 | 只看该作者
本帖最后由 灯具小翔 于 2014-1-17 13:56 编辑
Francis 发表于 2014-1-17 13:30
不用表格直接標注可以嗎?
可以的話請參考以下鏈接:
https://www.icax.org/forum.php?mod=viewthread&tid ...

启禀闷大:公司规定一定要表格,小翔无可奈何。
闷大12楼的方法已经可以了,只是小翔愚昧,
可否请闷大关于12楼的第2点和第4点再次点拨一下{:soso_e107:}
16
发表于 2014-1-17 15:00:04 | 只看该作者
gt.adan 发表于 2014-1-17 11:25
『自動填入』遠在我的能力範圍之外了,要實現得仰賴悶大和其他前輩接續研究指導。
提供另一個簡單的做法做 ...

和阿丹讨论一下,用你的方法,我做了一下:

有几个问题,插入的表格的背景还是白色,不知阿丹是如何修改的?
插入后的括号和逗号都有,请问阿丹是手动去除的吗?
谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
17
发表于 2014-1-17 15:55:28 | 只看该作者
1.嗯…我不知道wps表格是什麼…因為沒有這個選項。
2.背景色沒有特別調,本來就是這樣了。
3.不清楚小翔是如何輸入點座標的,我樓上的貼圖中寫得很清楚~
   一個是txt格式,要點開才能看;一個是excel,用宏自動生成的表格本身就不帶括號遏逗號。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
18
发表于 2014-1-17 16:23:25 | 只看该作者
本帖最后由 灯具小翔 于 2014-1-17 16:44 编辑
gt.adan 发表于 2014-1-17 15:55
1.嗯…我不知道wps表格是什麼…因為沒有這個選項。
2.背景色沒有特別調,本來就是這樣了。
3.不清楚小翔是 ...

谢谢阿丹回复。
WPS也是类似于Excel的表格软件。
请阿丹看图:

上图是我的方法

有个疑问:我用宏导出的文件是txt格式的,是有括号和逗号的,
不知道怎么直接导成表格?我是用打开方式选择的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
19
发表于 2014-1-17 17:06:33 | 只看该作者
本帖最后由 Francis 于 2014-1-18 11:35 编辑

構思完成了
代碼:
  1. Sub main()
  2. Set swApp = Application.SldWorks
  3. Set Part = swApp.ActiveDoc
  4. TxtFile = Part.GetPathName
  5. TxtFileL = Len(TxtFile)
  6. TxtFile = Left(TxtFile, TxtFileL - 7) & " PointsCount.txt"
  7. Set fs = CreateObject("Scripting.FileSystemObject")
  8. If Part.GetType = 1 Or Part.GetType = 2 Then
  9.     Set a = fs.CreateTextFile(TxtFile, True)
  10.     Set SelMgr = Part.SelectionManager
  11.     c = SelMgr.GetSelectedObjectCount
  12.     For i = 1 To c
  13.         ObjectType = SelMgr.GetSelectedObjectType(i)
  14.         If ObjectType = 15 Then
  15.             Set Note = SelMgr.GetSelectedObject2(i)
  16.             IndexName = Note.GetText
  17.             UnitsLinearDecimalPlaces = Part.GetUserPreferenceIntegerValue(swUnitsLinearDecimalPlaces)
  18.             XYZ = Note.GetAttachPos
  19.             X = Format(Round(XYZ(0) * 1000, UnitsLinearDecimalPlaces), "0.####")
  20.             Y = Format(Round(XYZ(1) * 1000, UnitsLinearDecimalPlaces), "0.####")
  21.             Z = Format(Round(XYZ(2) * 1000, UnitsLinearDecimalPlaces), "0.####")
  22.             a.WriteLine IndexName & Chr(9) & X & Chr(9) & Y & Chr(9) & Z
  23.         End If
  24.     Next
  25.     a.WriteLine ""
  26.     a.Close
  27. End If
  28. If Part.GetType = 3 Then
  29.     Set a = fs.OpenTextFile(TxtFile, 1)
  30.     c = 1
  31.     t = a.readline
  32.     While t <> ""
  33.         t = a.readline
  34.         c = c + 1
  35.     Wend
  36.     a.Close
  37.     Set genTable = Part.InsertTableAnnotation(0.1, 0.1, 1, c, 4)
  38.     genTable.Text(0, 1) = "X"
  39.     genTable.Text(0, 2) = "Y"
  40.     genTable.Text(0, 3) = "Z"
  41.     Set a = fs.OpenTextFile(TxtFile, 1)
  42.     c = 1
  43.     t = a.readline
  44.     While t <> ""
  45.         i = InStrRev(t, Chr(9), -1)
  46.         genTable.Text(c, 3) = Mid(t, i + 1)
  47.         t = Mid(t, 1, i - 1)
  48.         i = InStrRev(t, Chr(9), -1)
  49.         genTable.Text(c, 2) = Mid(t, i + 1)
  50.         t = Mid(t, 1, i - 1)
  51.         i = InStrRev(t, Chr(9), -1)
  52.         genTable.Text(c, 1) = Mid(t, i + 1)
  53.         t = Mid(t, 1, i - 1)
  54.         i = InStrRev(t, Chr(9), -1)
  55.         genTable.Text(c, 0) = Mid(t, i + 1)
  56.         t = a.readline
  57.         c = c + 1
  58.     Wend
  59.     a.Close
  60. End If
  61. End Sub
复制代码
為方便各位實驗,提供了附件作為試驗例子(內含1個零件及1個工程圖)


操作條件:
1. 模型(裝配或零件)和工程圖必須同名及放置在同一目錄之下。
2. 宏本身分為兩部分,自動對應模型及工程圖。
3. 在模型空間建議使用過濾器框選注解。
4. 選擇適當的注解後,運行宏,就會以模型文件名稱作為前綴,在同一個目錄中創建*PointsCount.txt文件。
5. 在工程圖插入模型項目,插入注解並隱藏不必要的注解。
6. 運行宏(同一個宏),就會閱讀以工程圖文件名稱作為前綴的*PointsCount.txt文件,以其內容在圖頁中創建一個表格。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1技术 +3 收起 理由
gt.adan + 3 精品分享!謝謝悶大!

查看全部评分

20
发表于 2014-1-17 17:17:09 | 只看该作者
謝謝悶大,先行收下,晚些練習!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-2-20 19:53 , Processed in 0.041279 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表