添加项目文件。
This commit is contained in:
74
HYJigPro/RevitExtensionAPI.cs
Normal file
74
HYJigPro/RevitExtensionAPI.cs
Normal file
@@ -0,0 +1,74 @@
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
using Autodesk.Revit.UI.Selection;
|
||||
|
||||
using System;
|
||||
|
||||
namespace HYJig
|
||||
{
|
||||
public static class RevitExtensionAPI
|
||||
{
|
||||
public static XYZ PickPoint(this Selection selection, XYZ ptBase, UIDocument uiDoc, string statusPrompt = "单击选择点, 按 ESC 键退出。")
|
||||
{
|
||||
XYZ xyz = null;
|
||||
using (XLineJig xlineJig = new XLineJig(uiDoc))
|
||||
{
|
||||
xlineJig.StartPoint = ptBase;
|
||||
xlineJig.JigStage = XLineJig.EStage.eEndPt;
|
||||
xyz = uiDoc.Selection.PickPoint(statusPrompt);
|
||||
}
|
||||
return xyz;
|
||||
}
|
||||
|
||||
public static XYZ PickOtherPoint(XYZ ptBase, UIDocument uiDoc, string statusPrompt = "单击选择点, 按 ESC 键退出。")
|
||||
{
|
||||
XYZ xyz = null;
|
||||
using (XLineJig xlineJig = new XLineJig(uiDoc))
|
||||
{
|
||||
xlineJig.JigStage = XLineJig.EStage.eEndPt;
|
||||
xlineJig.StartPoint = ptBase;
|
||||
xyz = uiDoc.Selection.PickPoint(statusPrompt);
|
||||
}
|
||||
return xyz;
|
||||
}
|
||||
|
||||
public static XYZ PickRectOtherPoint(XYZ ptBase, UIDocument uiDoc, string statusPrompt = "单击选择点, 按 ESC 键退出。")
|
||||
{
|
||||
XYZ xyz = null;
|
||||
using (XRectJig xrectJig = new XRectJig(uiDoc))
|
||||
{
|
||||
xrectJig.JigStage = XRectJig.EStage.eEndPt;
|
||||
xrectJig.StartPoint = ptBase;
|
||||
xrectJig.RectAngle = uiDoc.ActiveView.RightDirection;
|
||||
xyz = uiDoc.Selection.PickPoint(statusPrompt);
|
||||
}
|
||||
return xyz;
|
||||
}
|
||||
|
||||
public static XYZ PickArcMidPoint(XYZ ptStart, XYZ ptEnd, UIDocument uiDoc, string statusPrompt = "单击选择弧线上任意点, 按 ESC 键退出。")
|
||||
{
|
||||
XYZ xyz = null;
|
||||
using (XArc3PtJig xarc3PtJig = new XArc3PtJig(uiDoc))
|
||||
{
|
||||
xarc3PtJig.JigStage = XArc3PtJig.EStage.eOnCurvePt;
|
||||
xarc3PtJig.StartPoint = ptStart;
|
||||
xarc3PtJig.EndPoint = ptEnd;
|
||||
xyz = uiDoc.Selection.PickPoint(statusPrompt);
|
||||
}
|
||||
return xyz;
|
||||
}
|
||||
|
||||
public static XYZ PickArcEndPoint(XYZ ptStart, XYZ ptCenter, UIDocument uiDoc, string statusPrompt = "单击选择弧线终点, 按 ESC 键退出。")
|
||||
{
|
||||
XYZ xyz = null;
|
||||
using (XArcJig xarcJig = new XArcJig(uiDoc))
|
||||
{
|
||||
xarcJig.JigStage = XArcJig.EStage.ePtEnd;
|
||||
xarcJig.StartPoint = ptStart;
|
||||
xarcJig.CenterPoint = ptCenter;
|
||||
xyz = uiDoc.Selection.PickPoint(statusPrompt);
|
||||
}
|
||||
return xyz;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user