当前位置: 首页>>代码示例>>C#>>正文


C# ModelDoc2.ClearSelection方法代码示例

本文整理汇总了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);
                        }
开发者ID:digger1985,项目名称:MyCode,代码行数:66,代码来源:DimensionDraft.cs

示例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;
        }
开发者ID:digger1985,项目名称:MyCode,代码行数:60,代码来源:DimensionDraft.cs

示例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;
        }
开发者ID:digger1985,项目名称:MyCode,代码行数:92,代码来源:DimensionDraft.cs

示例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();
 }
开发者ID:digger1985,项目名称:MyCode,代码行数:49,代码来源:DimensionDraft.cs

示例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);
                                    }
//.........这里部分代码省略.........
开发者ID:digger1985,项目名称:MyCode,代码行数:101,代码来源:DimensionDraft.cs

示例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;
        }
开发者ID:digger1985,项目名称:MyCode,代码行数:43,代码来源:SwAddin.cs


注:本文中的ModelDoc2.ClearSelection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。