本文整理汇总了C#中ModelDoc2.ClearSelection方法的典型用法代码示例。如果您正苦于以下问题:C# ModelDoc2.ClearSelection方法的具体用法?C# ModelDoc2.ClearSelection怎么用?C# ModelDoc2.ClearSelection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ModelDoc2
的用法示例。
在下文中一共展示了ModelDoc2.ClearSelection方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AutoDimensionDrawing2
//.........这里部分代码省略.........
_swAdd.SetModelProperty(swModel, "WasMesure", string.Empty, swCustomInfoType_e.swCustomInfoYesOrNo, "Yes", true);
}
string pathXml = WriteXmlFile(swModel, isValidXml, targetModelPath);
bool isNeededSheetNumber = PrepareDrawingDoc(swModel, out listSide);
bool dimOnlyNew = false;
if (swModel.GetCustomInfoValue("", "DimOnlyNew") == "Yes")
dimOnlyNew = true;
var vSheetNames = (string[])swDrawing.GetSheetNames();
var rootNode = _node;
bool atLeastOneF1View = false;
foreach (var vSheetName in vSheetNames)
{
bool iftherewasAhole = false;
XmlElement element = null;
XmlElement sheetNode = null;
KeyValuePair<string,string> tableNameAttribute = new KeyValuePair<string, string>();
if (_createProgramm && !string.IsNullOrEmpty(pathXml))
{
element = _cxml.CreateElement("Sheet");
element.SetAttribute("Name", vSheetName);
_node = rootNode.AppendChild(element);
sheetNode = element;
}
double vScale = 0;
var type = new List<string>();
var listSize = new List<SizeForDim>();
swDrawing.ActivateSheet(vSheetName);
swModel.Extension.SelectByID2(vSheetName, "SHEET", 0, 0, 0, true,
(int)swSelectionMarkAction_e.swSelectionMarkAppend, null, 0);
swModel.ViewZoomToSelection();
swModel.ClearSelection();
var swSheet = (Sheet)swDrawing.GetCurrentSheet();
var swViews = (object[])swSheet.GetViews();
bool side = shi == 1;
if (isNeededSheetNumber && listSide.ContainsKey(vSheetName.Substring(vSheetName.Length - 1)))
side = listSide[vSheetName.Substring(vSheetName.Length - 1)];
if (vSheetName.ToUpper().Contains("FACE"))
side = true;
if (vSheetName.ToUpper().Contains("BACK"))
side = false;
if (swViews != null)
{
var rootViewElement = _node;
if (Properties.Settings.Default.ViewsBeforeDimen)
ReplaceViews(swViews, swDrawing);
foreach (var t in swViews)
{
#region Образмеривание вида
var swView = (View) t;
swModel.ClearSelection2(true);
const string expr = "^F[1-6]$";
Match isMatch = Regex.Match(swView.Name, expr, RegexOptions.IgnoreCase);
if (_createProgramm && swView.Name.ToLower().Contains("const"))
{
//Logging.Log.Instance.Fatal(@"На данный чертеж программа не будет создана! " + swModel.GetPathName() + "swView.Name = " + swView.Name);
//MessageBox.Show(@"На данный чертеж программа не будет создана!", @"MrDoors",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
示例2: SelectVertexDatumUp
public Ordinate SelectVertexDatumUp(ModelDoc2 swModel, double[] boundBox, BlockPosition left, bool clear = false)
{
var sizeX = boundBox[2] - boundBox[0];
if (sizeX < 0)
sizeX = -sizeX;
var sizeY = boundBox[3] - boundBox[1];
if (sizeY < 0)
sizeY = -sizeY;
var etalon = sizeX > sizeY ? sizeY : sizeX;
double step = etalon / 40;
var ordinate = new Ordinate(0, 0);
if (left.AsBoolean())
{
for (int iX = 0; iX <= 30; iX++)
{
for (int iY = 0; iY <= 30; iY++)
{
var boolstatus = swModel.Extension.SelectByID2("", "VERTEX", boundBox[0] + step * iX,
boundBox[3] - step * iY, 0.0, true,
(int)
swAutodimMark_e.swAutodimMarkOriginDatum,
null, 0);
if (boolstatus)
{
ordinate.X = boundBox[0] + step * iX;
ordinate.Y = boundBox[3] - step * iY;
if (clear)
swModel.ClearSelection();
return ordinate;
}
}
}
}
else
{
for (int iX = 0; iX <= 30; iX++)
{
for (int iY = 0; iY <= 30; iY++)
{
var boolstatus = swModel.Extension.SelectByID2("", "VERTEX", boundBox[2] - step * iX,
boundBox[3] - step * iY, 0.0, true,
(int)
swAutodimMark_e.swAutodimMarkOriginDatum,
null, 0);
if (boolstatus)
{
ordinate.X = boundBox[2] - step * iX;
ordinate.Y = boundBox[3] - step * iY;
if (clear)
swModel.ClearSelection();
return ordinate;
}
}
}
}
if (clear)
swModel.ClearSelection();
return ordinate;
}
示例3: GetDimensionLineDirect
public double[] GetDimensionLineDirect(ModelDoc2 swModel, double[] boundBox, bool vertic,BlockPosition side, out double d, out Annotation annotation,out bool? blockSize,out Ordinate vertex,out Ordinate vertexS, double[] dsDim,double[] deDim,double[] endDim,string dsName,string deName)
{
blockSize = null;
var swDrawing = (DrawingDoc) swModel;
var drView = swDrawing.IActiveDrawingView;
var scale = (double[]) drView.ScaleRatio;
double vScaleRat = scale[1];
double[] doubles = null;
d = 0;
annotation = null;
vertex = GetVertexFromBlock(swModel, drView, vScaleRat,true);
if(!(vertex!=null && SelectVertexDatum(swModel, vertex)))
vertex = SelectVertexDatumUp(swModel, boundBox, side);
if (dsDim != null && deDim != null)
{
vertexS = GetVertexFromBlock(swModel, drView, vScaleRat, false);
//swModel.ClearSelection2(true);
swDrawing.ActivateView(drView.Name);
bool tmp = swModel.Extension.SelectByID2(@"Точка вставки/" + dsName, "SKETCHPOINT", 0, 0, 0, false, 0, null, 0);
tmp = swModel.Extension.SelectByID2(@"Точка вставки/" + deName, "SKETCHPOINT", 0, 0, 0, true, 0, null, 0);
DisplayDimension dim1;
if (vertic)
dim1 = swModel.AddVerticalDimension2(0, 0, 0);
else
dim1 = swModel.AddHorizontalDimension2(0, 0, 0);
dim1.GetDimension().DrivenState = (int)swDimensionDrivenState_e.swDimensionDriven;
d = dim1.GetDimension().Value;
if (vertic)
{
doubles = new double[3] { 1, 0, 0 };
}
else
{
doubles = new double[3] {0, 1, 0};
}
annotation = dim1.GetAnnotation();
}
else
{
if (vertic)
{
vertexS = GetVertexFromBlock(swModel, drView, vScaleRat, false);
if (!(vertexS != null && SelectVertexDatum(swModel, vertexS)))
SelectVertexDatumDown(swModel, boundBox, side);
else if (vertex != null)
blockSize = vertex.X < vertexS.X;
DisplayDimension dim = null;
dim = swModel.IAddVerticalDimension2(0, 0, 0);
if (dim != null)
{
d = dim.IGetDimension().Value;
doubles = (double[]) dim.IGetDimension().DimensionLineDirection.ArrayData;
if (blockSize != null)
{
vertexS.Y = vertexS.Y + (d/1000)/vScaleRat;
}
annotation = dim.IGetAnnotation();
}
}
else
{
vertexS = GetVertexFromBlock(swModel, drView, vScaleRat, false);
if (!(vertexS != null && SelectVertexDatum(swModel, vertexS)))
{
vertexS = SelectVertexDatumUp(swModel, boundBox, side.Not());
}
else if (vertex != null)
blockSize = vertex.X < vertexS.X;
var dim = swModel.AddHorizontalDimension2(0, 0, 0);
if (dim != null)
{
d = dim.GetDimension().Value;
doubles = (double[]) dim.GetDimension().DimensionLineDirection.ArrayData;
annotation = dim.GetAnnotation();
}
}
}
swModel.ClearSelection();
return doubles;
}
示例4: DrawDottedLine
private static void DrawDottedLine(ModelDoc2 swModel, Entity ent1, Entity ent2)
{
swModel.SetAddToDB(true);
if (ent1 != null && ent2 != null)
{
swModel.SketchManager.CreateCenterLine(1, 1, 0, 1.1, 1.1, 0);
var objPoints = (object[])swModel.SketchManager.ActiveSketch.GetSketchPoints();
SketchPoint swPoint1 = null, swPoint2 = null;
foreach (var objPoint in objPoints)
{
var swPoint = (SketchPoint)objPoint;
double x1 = 1 - swPoint.X;
double x2 = 1.1 - swPoint.X;
double y1 = 1 - swPoint.Y;
double y2 = 1.1 - swPoint.Y;
if (x1 < 0)
x1 = -x1;
if (x2 < 0)
x2 = -x2;
if (y1 < 0)
y1 = -y1;
if (y2 < 0)
y2 = -y2;
if (x1 < 0.0001 && y1 < 0.0001)
{
swPoint1 = swPoint;
}
if (x2 < 0.0001 && y2 < 0.0001)
{
swPoint2 = swPoint;
}
}
if (swPoint1 != null && swPoint2 != null)
{
if (swPoint1.Select(false) && ent1.Select(true))
{
swModel.SketchAddConstraints("sgCONCENTRIC");
}
if (swPoint2.Select(false) && ent2.Select(true))
{
swModel.SketchAddConstraints("sgCONCENTRIC");
}
}
}
swModel.SetAddToDB(false);
swModel.GraphicsRedraw2();
swModel.ClearSelection();
//swModel.ClearUndoList();
}
示例5: PrepareDrawingDoc
private bool PrepareDrawingDoc(ModelDoc2 swModel, out Dictionary<string, bool> list)
{
list = new Dictionary<string, bool>();
bool ret = false;
//LinkedList<ModelDoc2> outModels;
// if (_swAdd.GetAllUniqueModels(_swAdd.RootModel, out outModels))
//{
/*
ModelDoc2 swAsmModel = null;
SwDmDocumentOpenError oe;
SwDMApplication swDocMgr = SwAddin.GetSwDmApp();
var swDoc = (SwDMDocument8)swDocMgr.GetDocument(swModel.GetPathName(),
SwDmDocumentType.swDmDocumentDrawing, true, out oe);
if (swDoc != null)
{
SwDMSearchOption src = swDocMgr.GetSearchOptionObject();
object brokenRefVar;
var varRef = (object[])swDoc.GetAllExternalReferences2(src, out brokenRefVar);
var name = (string)varRef[0];
swAsmModel = outModels.FirstOrDefault(modelDoc2 => modelDoc2.GetPathName() == name);
}
*/
ModelDoc2 swAsmModel = GetCurrentAsmModel(swModel);
OleDbConnection oleDb;
if (swAsmModel != null)
{
if (_createProgramm)
{
var matName = swAsmModel.get_CustomInfo2("", "Material");
if (matName == "" && swAsmModel.GetConfigurationCount() > 1)
{
string val, resolvedVal;
if (
swAsmModel.Extension.get_CustomPropertyManager(swAsmModel.IGetActiveConfiguration().Name).
Get4(
"Material", false, out val, out resolvedVal))
matName = val;
}
_z = ParseMaterialName(matName);
}
if (_swAdd.OpenModelDatabase(swAsmModel, out oleDb))
{
bool isPropName, isStdSketchNum, isSheetNames;
if (IsNeededColumnInDbFile(oleDb, out isPropName, out isStdSketchNum, out isSheetNames))
{
var objNames = _namesOfColumnNameFromDimLimits.Where(x => x.Contains("obj"));
var listId = new List<int>();
foreach (var objName in objNames)
{
int id = FrmSetParameters.GetIdFromColumnName(objName);
if (!listId.Contains(id))
listId.Add(id);
}
var dictIdSize = new Dictionary<int, double>();
var cm = new OleDbCommand("SELECT * FROM objects", oleDb);
var rd = cm.ExecuteReader();
while (rd.Read())
{
if (listId.Contains((int) rd["id"]))
{
double val;
if (_swAdd.GetObjectValue(swAsmModel, (string) rd["name"], 14, out val) &&
!dictIdSize.ContainsKey((int) rd["id"]))
dictIdSize.Add((int) rd["id"], val);
}
}
rd.Close();
cm = new OleDbCommand("SELECT * FROM dimlimits", oleDb);
rd = cm.ExecuteReader();
while (rd.Read())
{
var lB = (from i in listId
let mn = (int) rd["obj" + i + "min"]
let mx = (int) rd["obj" + i + "max"]
select (mn <= dictIdSize[i]) && (dictIdSize[i] <= mx)).ToList();
if (lB.Aggregate(true, (current, b) => (b && current)))
{
if (isSheetNames)
{
var needSheetsNumb = (string) rd["sheetnames"];
swModel.ClearSelection();
foreach (var strNum in needSheetsNumb.Split(','))
{
string strNm = strNum.Trim();
string num = strNm.Substring(0, strNm.Length - 1);
string side = strNm.Substring(strNm.Length - 1);
list.Add(num, side.ToLower() == "l");
}
var swDrw = (DrawingDoc) swModel;
var sheetnames = (string[]) swDrw.GetSheetNames();
foreach (var sheetname in sheetnames)
{
if (sheetname.Contains("1") ||
list.Keys.Contains(sheetname.Substring(sheetname.Length - 1)))
continue;
swModel.Extension.SelectByID2(sheetname, "SHEET", 0, 0, 0, true, 0, null, 0);
}
//.........这里部分代码省略.........
示例6: HideCompAndShowCross
private bool HideCompAndShowCross(ModelDoc2 swModel, string f1, string f2, out string comp1Name, out string comp2Name,
out List<Component2> list)
{
bool ret = false;
Component2 swComp1, swComp2;
list = new List<Component2>();
comp1Name = " ";
comp2Name = " ";
if (GetComponentByName(swModel, f1, false, out swComp1) &&
GetComponentByName(swModel, f2, false, out swComp2))
{
var swComponents = new LinkedList<Component2>();
comp1Name = swComp1.Name;
comp2Name = swComp2.Name;
if (comp1Name != comp2Name)
{
var swConfig = (Configuration)swModel.GetActiveConfiguration();
if (swConfig != null)
{
var swRootComponent = (Component2)swConfig.GetRootComponent();
if (GetComponents(swRootComponent,
swComponents, false, false))
{
foreach (var component in swComponents)
{
if ((component.Name != swComp1.Name) && (component.Name != swComp2.Name) &&
(component.Visible == 1))
{
component.Select(false);
swModel.HideComponent2();
swModel.ClearSelection();
list.Add(component);
ret = true;
}
}
return ret;
}
}
}
}
return false;
}