Exemplo n.º 1
0
            public void Modify(PropertyValueChangedEventArgs e)
            {
                string  label   = e.ChangedItem.Label;
                Drawing drawing = drawingHandler.GetActiveDrawing();
                DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected();

                while (drawingObjectEnum.MoveNext())
                {
                    if (drawingObjectEnum.Current is Tekla.Structures.Drawing.AngleDimension)
                    {
                        Tekla.Structures.Drawing.AngleDimension radialDim = (Tekla.Structures.Drawing.AngleDimension)drawingObjectEnum.Current;
                        if (label == "DimensionUnits")
                        {
                            if (dimensionUnits == DimensionUnitsEnum.Automatic)
                            {
                                radialDim.Attributes.Format.Unit = DimensionSetBaseAttributes.DimensionValueUnits.Automatic;
                            }
                            else if (dimensionUnits == DimensionUnitsEnum.Centimeter)
                            {
                                radialDim.Attributes.Format.Unit = DimensionSetBaseAttributes.DimensionValueUnits.Centimeter;
                            }
                            else if (dimensionUnits == DimensionUnitsEnum.Inch)
                            {
                                radialDim.Attributes.Format.Unit = DimensionSetBaseAttributes.DimensionValueUnits.Inch;
                            }
                            else if (dimensionUnits == DimensionUnitsEnum.Meter)
                            {
                                radialDim.Attributes.Format.Unit = DimensionSetBaseAttributes.DimensionValueUnits.Meter;
                            }
                            else if (dimensionUnits == DimensionUnitsEnum.Millimeter)
                            {
                                radialDim.Attributes.Format.Unit = DimensionSetBaseAttributes.DimensionValueUnits.Millimeter;
                            }
                        }
                        if (label == "Colour")
                        {
                            radialDim.Attributes.Color = colour;
                        }
                        if (label == "FontName")
                        {
                            radialDim.Attributes.Text.Font.Name = fontName;
                        }
                        if (label == "FontHeight")
                        {
                            radialDim.Attributes.Text.Font.Height = double.Parse(fontHeight);
                        }
                        if (label == "FontColour")
                        {
                            radialDim.Attributes.Text.Font.Color = fontColour;
                        }
                        if (label == "FontItalic")
                        {
                            radialDim.Attributes.Text.Font.Italic = bool.Parse(fontItalic.ToString());
                        }
                        if (label == "FontBold")
                        {
                            radialDim.Attributes.Text.Font.Bold = bool.Parse(fontBold.ToString());
                        }
                        if (label == "Placing")
                        {
                            if (placing == PlacingEnum.Fixed)
                            {
                                radialDim.Attributes.Placing.Placing = DimensionSetBaseAttributes.Placings.Fixed;
                            }
                            else if (placing == PlacingEnum.Free)
                            {
                                radialDim.Attributes.Placing.Placing = DimensionSetBaseAttributes.Placings.Free;
                            }
                        }

                        if (label == "PlacingDirectionNegative")
                        {
                            radialDim.Attributes.Placing.Direction.Negative = bool.Parse(placingDirectionNegative.ToString());
                        }
                        if (label == "PlacingDirectionPositive")
                        {
                            radialDim.Attributes.Placing.Direction.Positive = bool.Parse(placingDirectionPositive.ToString());
                        }
                        if (label == "MinimalDistance")
                        {
                            radialDim.Attributes.Placing.Distance.MinimalDistance = double.Parse(minimalDistance);
                        }
                        if (label == "SearchMargin")
                        {
                            radialDim.Attributes.Placing.Distance.SearchMargin = double.Parse(searchMargin);
                        }
                        radialDim.Modify();
                        drawing.CommitChanges();
                    }
                }
            }
Exemplo n.º 2
0
            public void GetProperties()
            {
                DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected();

                if (drawingObjectEnum.GetSize() == 1)
                {
                    while (drawingObjectEnum.MoveNext())
                    {
                        if (drawingObjectEnum.Current is Tekla.Structures.Drawing.AngleDimension)
                        {
                            Tekla.Structures.Drawing.AngleDimension angleDim = (Tekla.Structures.Drawing.AngleDimension)drawingObjectEnum.Current;

                            if (angleDim.Attributes.Format.Unit == DimensionSetBaseAttributes.DimensionValueUnits.Automatic)
                            {
                                dimensionUnits = DimensionUnitsEnum.Automatic;
                            }
                            else if (angleDim.Attributes.Format.Unit == DimensionSetBaseAttributes.DimensionValueUnits.Centimeter)
                            {
                                dimensionUnits = DimensionUnitsEnum.Centimeter;
                            }
                            else if (angleDim.Attributes.Format.Unit == DimensionSetBaseAttributes.DimensionValueUnits.Inch)
                            {
                                dimensionUnits = DimensionUnitsEnum.Inch;
                            }
                            else if (angleDim.Attributes.Format.Unit == DimensionSetBaseAttributes.DimensionValueUnits.Meter)
                            {
                                dimensionUnits = DimensionUnitsEnum.Meter;
                            }
                            else if (angleDim.Attributes.Format.Unit == DimensionSetBaseAttributes.DimensionValueUnits.Millimeter)
                            {
                                dimensionUnits = DimensionUnitsEnum.Millimeter;
                            }

                            if (angleDim.Attributes.Placing.Direction.Negative)
                            {
                                placingDirectionNegative = Bool.True;
                            }
                            else
                            {
                                placingDirectionNegative = Bool.False;
                            }
                            if (angleDim.Attributes.Placing.Direction.Positive)
                            {
                                placingDirectionPositive = Bool.True;
                            }
                            else
                            {
                                placingDirectionPositive = Bool.False;
                            }
                            minimalDistance = angleDim.Attributes.Placing.Distance.MinimalDistance.ToString();
                            searchMargin    = angleDim.Attributes.Placing.Distance.SearchMargin.ToString();
                            if (angleDim.Attributes.Placing.Placing == DimensionSetBaseAttributes.Placings.Free)
                            {
                                placing = PlacingEnum.Free;
                            }
                            else
                            {
                                placing = PlacingEnum.Fixed;
                            }

                            colour     = angleDim.Attributes.Color;
                            fontName   = angleDim.Attributes.Text.Font.Name;
                            fontHeight = angleDim.Attributes.Text.Font.Height.ToString();
                            fontColour = angleDim.Attributes.Text.Font.Color;
                            if (angleDim.Attributes.Text.Font.Italic)
                            {
                                fontItalic = Bool.True;
                            }
                            else
                            {
                                fontItalic = Bool.False;
                            }
                            if (angleDim.Attributes.Text.Font.Bold)
                            {
                                fontBold = Bool.True;
                            }
                            else
                            {
                                fontBold = Bool.False;
                            }

                            //distance = radialDim.Distance.ToString("F02");
                        }
                    }
                }
                if (drawingObjectEnum.GetSize() > 1)
                {
                    //distance = "";
                    dimensionUnits           = new DimensionUnitsEnum();
                    colour                   = new DrawingColors();
                    fontName                 = "";
                    fontHeight               = "";
                    fontColour               = new DrawingColors();
                    fontItalic               = new Bool();
                    fontBold                 = new Bool();
                    placing                  = new PlacingEnum();
                    placingDirectionNegative = new Bool();
                    placingDirectionPositive = new Bool();
                    minimalDistance          = "";
                    searchMargin             = "";
                }
            }