solidworks工程圖自動繪制半圓的十字中心線/SW宏應(yīng)用

smellycat
smellycat
管理員
1340
文章
1
粉絲
solidworks技巧solidworks工程圖自動繪制半圓的十字中心線/SW宏應(yīng)用已關(guān)閉評論

在SW的工程圖中,給“半圓”標十字中心線是個老在難的問題,用過的同學(xué)都知道,總是有一條“長長的尾巴”,笨小編每次被它搞的一點脾氣都沒有。。。文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

但是辦法總是有的,世界上總是有牛人的存在,用solidworks”就可以自動成半圓的“十字中心線”,具體的操作方法如下:文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

1. 準備好“宏”的代碼

  1. Sub?main()
  2. Set?swApp?=?Application.SldWorks
  3. Set?DrawingDoc?=?swApp.ActiveDoc
  4. If?DrawingDoc.GetType?<>?3?Then?Exit?Sub
  5. Set?SelMgr?=?DrawingDoc.SelectionManager
  6. If?SelMgr.GetSelectedObjectType2(1)?<>?12?Then?Exit?Sub
  7. Set?swview?=?SelMgr.GetSelectedObjectsDrawingView(1)
  8. Set?swDrawComp?=?swview.RootDrawingComponent
  9. DrawingDoc.ActivateView?swDrawComp.View.GetName2
  10. Set?Part?=?swview.ReferencedDocument
  11. Set?FeatObj?=?Part.FirstFeature
  12. FeatObjFeatObjFeatObjname?=?FeatObj.GetTypeName
  13. While?FeatObjname?<>?"OriginProfileFeature"
  14. ????Set?FeatObjFeatObjFeatObj?=?FeatObj.GetNextFeature
  15. ????FeatObjFeatObjFeatObjname?=?FeatObj.GetTypeName
  16. Wend
  17. Featname?=?FeatObj.Name
  18. ViewOutlines?=?swview.GetOutline
  19. ViewCXform?=?swview.GetXform
  20. ViewXform?=?swview.GetViewXform
  21. Hp1x?=?(ViewOutlines(0)?-?ViewCXform(0))?/?ViewXform(12)
  22. Hp1y?=?((ViewOutlines(1)?+?ViewOutlines(3))?/?2?-?ViewCXform(1))?/?ViewXform(12)
  23. Hp2x?=?(ViewOutlines(2)?-?ViewCXform(0))?/?ViewXform(12)
  24. Hp2y?=?Hp1y
  25. Vp1x?=?((ViewOutlines(0)?+?ViewOutlines(2))?/?2?-?ViewCXform(0))?/?ViewXform(12)
  26. Vp1y?=?(ViewOutlines(3)?-?ViewCXform(1))?/?ViewXform(12)
  27. Vp2x?=?Vp1x
  28. Vp2y?=?(ViewOutlines(1)?-?ViewCXform(1))?/?ViewXform(12)
  29. DrawingDoc.SetAddToDB?(True)
  30. Set?SkLineH?=?DrawingDoc.SketchManager.CreateCenterLine(Hp1x,?Hp1y,?0,?Hp2x,?Hp2y,?0)
  31. DrawingDoc.SketchAddConstraints?"sgHORIZONTAL2D"
  32. boolstatus?=?DrawingDoc.Extension.SelectByID2("Point1@"?&?Featname?&?"@"?&?swDrawComp.Name?&?"@"?&?swDrawComp.View.GetName2,?"EXTSKETCHPOINT",?0,?0,?0,?True,?0,?Nothing,?0)
  33. DrawingDoc.SketchAddConstraints?"sgCOINCIDENT"
  34. Set?SkLineV?=?DrawingDoc.SketchManager.CreateCenterLine(Vp1x,?Vp1y,?0,?Vp2x,?Vp2y,?0)
  35. DrawingDoc.SketchAddConstraints?"sgVERTICAL2D"
  36. boolstatus?=?DrawingDoc.Extension.SelectByID2("Point1@"?&?Featname?&?"@"?&?swDrawComp.Name?&?"@"?&?swDrawComp.View.GetName2,?"EXTSKETCHPOINT",?0,?0,?0,?True,?0,?Nothing,?0)
  37. DrawingDoc.SketchAddConstraints?"sgCOINCIDENT"
  38. DrawingDoc.ClearSelection2?True
  39. End?Sub

2. 新建一個“宏”

工具->->新建宏,再把上面的“代碼”復(fù)制過去,保存,如下圖文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

3. 選中“半圓”,再運行“宏”, OK文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

原文作者Francis,出自http://www.solidworks.org.tw/forum.php?mod=viewthread&tid=24262文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

總結(jié):在SW沒出標注半圓的工具之前,這是工作必備的技巧,小編一直在用,直的是很方便。文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html

文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html文章源自solidworks教程網(wǎng)-http://m.66kg.cn/1627.html
 
  • 本文由 smellycat 發(fā)表于2016年9月3日