504
新人さん
オフライン
投稿: 7
I'm a llama!
|
|
閉じた図形の描き方
« 投稿日: 2013/04/04 - 10:12:21 » |
|
お世話になります。
SolidWorks 2013 x64 Editionを使って C#のマクロで回転体を作りたいのですが、下記のコードだとスケッチが閉じてないというエラーになってしまいます。 どこが問題なのでしょうか?
パラメータ次第では上手く動くこともあるのですが、このケースでは何がいけないのかさっぱり分からず困っています。
public void Main() { ModelDoc2 swDoc = ((ModelDoc2)(swApp.ActiveDoc)); swDoc.SketchManager.InsertSketch(true); bool boolstatus = swDoc.Extension.SelectByID2("正面", "PLANE", 0, 0, 0, false, 0, null, 0); swDoc.ClearSelection2(true); swDoc.SketchManager.InsertSketch(true); const double PI2 = 6.2831853071796; double P11x, P11y, P11z, P12x, P12y, P12z, P13x, P13y, P13z; double P21x, P21y, P21z, P22x, P22y, P22z, P23x, P23y, P23z;
P11x = -0.0409264; P11y = P11z = 0; P12x=P12y=P12z=0; P13x = -0.00195564; P13y = 0.0125; P13z = 0;
P21x = 0.0289264; P21y = P21z = 0; P22x =-0.012; P22y = P22z =0; P23x = -0.0100444; P23y = 0.0125; P23z = 0;
SketchArc skArc = ((SketchArc)(swDoc.SketchManager.CreateArc(P11x,P11y,P11z,P12x,P12y,P12z,P13x,P13y,P13z,1))); swDoc.ViewZoomtofit2();
skArc = ((SketchArc)(swDoc.SketchManager.CreateArc(P21x,P21y,P21z,P22x,P22y,P22z,P23x,P23y,P23z, -1))); swDoc.ViewZoomtofit2();
//↓ここで二つの円弧の端をしっかり繋いで閉じているつもり・・ SketchSegment skSegment = ((SketchSegment)(swDoc.SketchManager.CreateLine(P12x,P12y,P12z,P22x,P22y,P22z))); skSegment = ((SketchSegment)(swDoc.SketchManager.CreateLine(P13x,P13y,P13z,P23x,P23y,P23z)));
boolstatus = skSegment.Select2(false, 16); Feature myFeature = ((Feature)(swDoc.FeatureManager.FeatureRevolve2(true, true, false, false, false, false, 0, 0, PI2, 0, false, false, 0.01, 0.01, 0, 0, 0, true, true, true))); //↑このmyFeatureがnullになる
swDoc.ClearSelection2(true); swDoc.SketchManager.InsertSketch(true); }
|