예제 #1
0
        public bool MoveNext()
        {
            if (m_IsStart)
            {
                m_IsStart    = false;
                m_CurDispDim = m_Feat.GetFirstDisplayDimension() as IDisplayDimension;
            }
            else
            {
                m_CurDispDim = m_Feat.GetNextDisplayDimension(m_CurDispDim) as IDisplayDimension;
            }

            if (m_CurDispDim != null)
            {
                //NOTE: parent feature, such as extrude will also return all dimensions from child features, such as sketch
                var featName = m_CurDispDim.GetDimension2(0).FullName.Split('@')[1];

                if (!string.Equals(featName, m_Feat.Name, StringComparison.CurrentCultureIgnoreCase))
                {
                    return(MoveNext());
                }
            }

            return(m_CurDispDim != null);
        }
예제 #2
0
        private void SetAndReleaseDimension(IDisplayDimension dispDim,
                                            int index, double val, string confName)
        {
            var dim = dispDim.GetDimension2(0);

            dim.SetSystemValue3(val,
                                (int)swSetValueInConfiguration_e.swSetValue_InSpecificConfigurations,
                                new string[] { confName });

            ReleaseDimension(dispDim, dim);
        }
예제 #3
0
        public void CopyLink()
        {
            Clipboard.Clear();
            AddinDocument addinDoc = _swAddin.GetActiveDoc();

            if (addinDoc == null)
            {
                return;
            }
            string    swDoc      = addinDoc.FullFileName;
            ModelDoc2 swModelDoc = SWHelper.GetDocByFileName(swDoc); // нужно учитывать что браться на редактирование может документ не открытый в PLM. тогда здесь будет null и нужно либо открывать документ, либо работать через DMDocument

            if (swModelDoc == null)
            {
                return;
            }

            SelectionMgr mSelectionMgr = swModelDoc.ISelectionManager;
            String       sz            = "";

            var tp = mSelectionMgr.GetSelectedObjectType3(1, -1);

            if (tp == (int)swSelectType_e.swSelDIMENSIONS)
            {
                IDisplayDimension sel = (IDisplayDimension)mSelectionMgr.GetSelectedObject6(1, 0);
                sz = sel.GetDimension2(0).FullName;
                Clipboard.SetText(sz);
            }

            /*  if (tp == (int)swSelectType_e.swSelNOTES)
             * {
             *    INote sel = (INote)mSelectionMgr.GetSelectedObject6(1, 0); mSelectionMgr.IGetSelectedObjectsComponent2
             *    sel
             *
             *    Annotation swAnn = (Annotation)sel.GetAnnotation();
             *    swAnn.
             *    ModelDocExtension mde = (ModelDocExtension)swModel.Extension;
             *    int id = mde.GetObjectId(swAnn);
             *
             *    swFeature.GetNameForSelection(out sz);
             * }*/
            //if (sz.Length != 0) MessageBox.Show(sz);
        }
 internal DimensionData(IDisplayDimension dispDim, string name)
 {
     DisplayDimension = dispDim;
     Dimension        = dispDim.GetDimension2(0);
     Name             = name;
 }
 internal DimensionData(IDisplayDimension dispDim)
 {
     DisplayDimension = dispDim;
     Dimension        = dispDim.GetDimension2(0);
 }