在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. 準備好“宏”的代碼
- Sub?main()
- Set?swApp?=?Application.SldWorks
- Set?DrawingDoc?=?swApp.ActiveDoc
- If?DrawingDoc.GetType?<>?3?Then?Exit?Sub
- Set?SelMgr?=?DrawingDoc.SelectionManager
- If?SelMgr.GetSelectedObjectType2(1)?<>?12?Then?Exit?Sub
- Set?swview?=?SelMgr.GetSelectedObjectsDrawingView(1)
- Set?swDrawComp?=?swview.RootDrawingComponent
- DrawingDoc.ActivateView?swDrawComp.View.GetName2
- Set?Part?=?swview.ReferencedDocument
- Set?FeatObj?=?Part.FirstFeature
- FeatObjFeatObjFeatObjname?=?FeatObj.GetTypeName
- While?FeatObjname?<>?"OriginProfileFeature"
- ????Set?FeatObjFeatObjFeatObj?=?FeatObj.GetNextFeature
- ????FeatObjFeatObjFeatObjname?=?FeatObj.GetTypeName
- Wend
- Featname?=?FeatObj.Name
- ViewOutlines?=?swview.GetOutline
- ViewCXform?=?swview.GetXform
- ViewXform?=?swview.GetViewXform
- Hp1x?=?(ViewOutlines(0)?-?ViewCXform(0))?/?ViewXform(12)
- Hp1y?=?((ViewOutlines(1)?+?ViewOutlines(3))?/?2?-?ViewCXform(1))?/?ViewXform(12)
- Hp2x?=?(ViewOutlines(2)?-?ViewCXform(0))?/?ViewXform(12)
- Hp2y?=?Hp1y
- Vp1x?=?((ViewOutlines(0)?+?ViewOutlines(2))?/?2?-?ViewCXform(0))?/?ViewXform(12)
- Vp1y?=?(ViewOutlines(3)?-?ViewCXform(1))?/?ViewXform(12)
- Vp2x?=?Vp1x
- Vp2y?=?(ViewOutlines(1)?-?ViewCXform(1))?/?ViewXform(12)
- DrawingDoc.SetAddToDB?(True)
- Set?SkLineH?=?DrawingDoc.SketchManager.CreateCenterLine(Hp1x,?Hp1y,?0,?Hp2x,?Hp2y,?0)
- DrawingDoc.SketchAddConstraints?"sgHORIZONTAL2D"
- boolstatus?=?DrawingDoc.Extension.SelectByID2("Point1@"?&?Featname?&?"@"?&?swDrawComp.Name?&?"@"?&?swDrawComp.View.GetName2,?"EXTSKETCHPOINT",?0,?0,?0,?True,?0,?Nothing,?0)
- DrawingDoc.SketchAddConstraints?"sgCOINCIDENT"
- Set?SkLineV?=?DrawingDoc.SketchManager.CreateCenterLine(Vp1x,?Vp1y,?0,?Vp2x,?Vp2y,?0)
- DrawingDoc.SketchAddConstraints?"sgVERTICAL2D"
- boolstatus?=?DrawingDoc.Extension.SelectByID2("Point1@"?&?Featname?&?"@"?&?swDrawComp.Name?&?"@"?&?swDrawComp.View.GetName2,?"EXTSKETCHPOINT",?0,?0,?0,?True,?0,?Nothing,?0)
- DrawingDoc.SketchAddConstraints?"sgCOINCIDENT"
- DrawingDoc.ClearSelection2?True
- 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

