iCAx开思网

标题: 想要一个将CAD平面图导入solidworks 草图中 并以相同名称保存为零件 [打印本页]

作者: ningxin4567    时间: 2020-5-7 13:29
标题: 想要一个将CAD平面图导入solidworks 草图中 并以相同名称保存为零件
工作中有许多2D要转3D,根据CAD 2D平面图,导入solidworks草图中,再做相应的拉伸切除操作,最后转化为3D ,其中要做相应的选项如图红线标注所示

作者: ningxin4567    时间: 2020-5-9 14:52
自己顶一下
作者: wutong490    时间: 2020-5-10 23:16
文件可否上传

作者: pyczt    时间: 2020-5-12 08:20
我认为这个插入同名DWG为草图的宏更实用。
  1. ' macro recorded on 05/28/16 by pyczt
  2. ' Preconditions:条件
  3. ' 1. Open a part.打开一个零件
  4. ' 2. Replace path_name with the pathname of an existing DXF/DWG file.同路径下有同名DWG文件
  5. ' 3. Select a plane or face on which to insert the DXF/DWG image.选择面
  6. '
  7. ' Postconditions:
  8. ' 1. The DXF/DWG image is added as a sketch. 自动插入DWG,形成草图
  9. '如果有单位问题,可以方法2进行,分解图块问题还没解决,单位改了,块的位置有可能有问题
  10. ' ******************************************************************************
  11. Dim swApp                   As SldWorks.SldWorks
  12. Dim swModel                 As SldWorks.ModelDoc2
  13. Dim sPathName               As String
  14. Dim DxfDwgImportData        As SldWorks.ImportDxfDwgData
  15. Sub main()

  16. Set swApp = Application.SldWorks
  17. Set swModel = swApp.ActiveDoc  '设定当前SW文档
  18. sPathName = swModel.GetPathName        '读取当前SW文档名(含路径)
  19.     sPathName = Left(sPathName, Len(sPathName) - 6) + "dwg"               '提取当前SW文件名加后缀名
  20. '***********************************************************************************
  21. 'Set DxfDwgImportData = swApp.GetImportFileData(sPathName)     这些是InsertDwgOrDxfFile2中采用

  22. 'Unit单位设定
  23.    ' DxfDwgImportData.LengthUnit("") = SwConst.swLengthUnit_e.swMM
  24. 'Position坐标点设定
  25.    ' bRet = DxfDwgImportData.SetPosition("", swDwgEntitiesCentered, 0, 0)
  26. 'Sheet scale比例设定
  27.     'bRet = DxfDwgImportData.SetSheetScale("", 1#, 2#)
  28. 'Paper size图纸大小
  29.    ' bRet = DxfDwgImportData.SetPaperSize("", SwConst.swDwgPaperSizes_e.swDwgPaperAsize, 0#, 0#)
  30. 'Import method :  Import this sheet (layout) into an existing part输入方式
  31.     'DxfDwgImportData.ImportMethod("") = swImportDxfDwg_ImportMethod_e.swImportDxfDwg_ImportToExistingPart

  32. Dim myFeature As Object
  33. 'Set myFeature = swModel.FeatureManager.InsertDwgOrDxfFile2(sPathName, DxfDwgImportData)

  34. Set myFeature = swModel.FeatureManager.InsertDwgOrDxfFile(sPathName)
  35. swModel.SketchManager.InsertSketch True
  36. End Sub
复制代码

作者: ningxin4567    时间: 2020-5-16 22:03
附件dwg与想要的零件结果

作者: ningxin4567    时间: 2020-5-16 22:05
pyczt 发表于 2020-5-12 08:20
我认为这个插入同名DWG为草图的宏更实用。

谢谢了大神,其他的都没有问题,就是感觉比例上出现了问题,70mm转化后变成700mm了

作者: ningxin4567    时间: 2020-5-16 22:08
wutong490 发表于 2020-5-10 23:16
文件可否上传

这是要转化的DWG图和转化好的大致结果





欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3