Exemple #1
0
        private bool InternReadDashes(ref int rlngIdx, ref AcadLineType robjAcadLineType, ref string nrstrErrMsg)
        {
            nrstrErrMsg = null;
            AcadLineTypeDashes dobjAcadLineTypeDashes = robjAcadLineType.Dashes;
            bool dblnError = default(bool);
            bool dblnStop  = default(bool);

            while (rlngIdx <= mlngTblEnd && !dblnError && !dblnStop)
            {
                int    dlngCode  = Conversions.ToInteger(mobjDictReadCodes[rlngIdx]);
                object dvarValue = RuntimeHelpers.GetObjectValue(mobjDictReadValues[rlngIdx]);
                if (dlngCode != 0 && dlngCode != 0 && dlngCode != 49)
                {
                    nrstrErrMsg = "Ungültiger Gruppencode für Tabelleneintrag/ende oder Linientypelement in Zeile " + Conversions.ToString(checked (rlngIdx * 2 + 1)) + ".";
                    dblnError   = true;
                }
                else if (Conversions.ToBoolean(dvarValue is string && Conversions.ToBoolean(Operators.OrObject(Operators.CompareObjectEqual(dvarValue, "ENDTAB", TextCompare: false), Operators.CompareObjectEqual(dvarValue, "LTYPE", TextCompare: false)))))
                {
                    dblnStop = true;
                }
                else if (!InternReadDash(ref rlngIdx, ref dobjAcadLineTypeDashes, ref nrstrErrMsg))
                {
                    dblnError = true;
                }
            }
            bool InternReadDashes = !dblnError;

            dobjAcadLineTypeDashes = null;
            return(InternReadDashes);
        }
Exemple #2
0
        private void InternListLinetypeDashes(ref int rlngIdx, AcadLineType vobjAcadLineType)
        {
            AcadLineTypeDashes dobjAcadLineTypeDashes2 = vobjAcadLineType.Dashes;
            IEnumerator        enumerator = default(IEnumerator);
            AcadLineTypeDash   dobjAcadLineTypeDash2;

            try
            {
                enumerator = dobjAcadLineTypeDashes2.GetValues().GetEnumerator();
                while (enumerator.MoveNext())
                {
                    dobjAcadLineTypeDash2 = (AcadLineTypeDash)enumerator.Current;
                    AcadLineTypeDash acadLineTypeDash = dobjAcadLineTypeDash2;
                    InternAddToDictLine(ref rlngIdx, 49, RuntimeHelpers.GetObjectValue(acadLineTypeDash.Length));
                    int dlngCode74 = acadLineTypeDash.Flags74;
                    InternAddToDictLine(ref rlngIdx, 74, dlngCode74);
                    if (dlngCode74 > 0)
                    {
                        InternAddToDictLine(ref rlngIdx, 75, acadLineTypeDash.ShapeNumber);
                        InternAddToDictLine(ref rlngIdx, 340, acadLineTypeDash.ShapeStyle);
                        InternAddToDictLine(ref rlngIdx, 46, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeScale));
                        InternAddToDictLine(ref rlngIdx, 50, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeRotationDegree));
                        InternAddToDictLine(ref rlngIdx, 44, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeOffsetX));
                        InternAddToDictLine(ref rlngIdx, 45, RuntimeHelpers.GetObjectValue(acadLineTypeDash.ShapeOffsetY));
                    }
                    if ((2 & dlngCode74) == 2)
                    {
                        InternAddToDictLine(ref rlngIdx, 9, acadLineTypeDash.Text);
                    }
                    acadLineTypeDash = null;
                }
            }
            finally
            {
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            dobjAcadLineTypeDash2   = null;
            dobjAcadLineTypeDashes2 = null;
        }
Exemple #3
0
        private bool InternReadDash(ref int rlngIdx, ref AcadLineTypeDashes robjAcadLineTypeDashes, ref string nrstrErrMsg)
        {
            nrstrErrMsg = null;
            int dlngIdx = rlngIdx;

            checked
            {
                bool             dblnError = default(bool);
                AcadLineTypeDash dobjAcadLineTypeDash2;
                if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 49, TextCompare: false))
                {
                    nrstrErrMsg = "Ungültiger Gruppencode für Bereichslänge in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + ".";
                    dblnError   = true;
                }
                else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 1], 74, TextCompare: false))
                {
                    nrstrErrMsg = "Ungültiger Gruppencode für Elementtyp in Zeile " + Conversions.ToString(rlngIdx * 2 + 3) + ".";
                    dblnError   = true;
                }
                else
                {
                    bool   flag       = false;
                    double ddblLength = Conversions.ToDouble(mobjDictReadValues[rlngIdx]);
                    int    dlngCode74 = Conversions.ToInteger(mobjDictReadValues[rlngIdx + 1]);
                    rlngIdx += 2;
                    int    dlngShapeNumber         = default(int);
                    int    dlngShapeStyle          = default(int);
                    double ddblShapeScale          = default(double);
                    double ddblShapeRotationDegree = default(double);
                    double ddblShapeOffsetX        = default(double);
                    double ddblShapeOffsetY        = default(double);
                    string dstrText = default(string);
                    if (dlngCode74 > 0)
                    {
                        if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 75, TextCompare: false))
                        {
                            nrstrErrMsg = "Ungültiger Gruppencode für Symbolnummer in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + ".";
                            dblnError   = true;
                        }
                        else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 1], 340, TextCompare: false))
                        {
                            nrstrErrMsg = "Ungültiger Gruppencode für Zeiger auf STYLE-Objekt in Zeile " + Conversions.ToString(rlngIdx * 2 + 3) + ".";
                            dblnError   = true;
                        }
                        else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 2], 46, TextCompare: false))
                        {
                            nrstrErrMsg = "Ungültiger Gruppencode für Skalierfaktor in Zeile " + Conversions.ToString(rlngIdx * 2 + 5) + ".";
                            dblnError   = true;
                        }
                        else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 3], 50, TextCompare: false))
                        {
                            nrstrErrMsg = "Ungültiger Gruppencode für Drehung in Zeile " + Conversions.ToString(rlngIdx * 2 + 7) + ".";
                            dblnError   = true;
                        }
                        else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 4], 44, TextCompare: false))
                        {
                            nrstrErrMsg = "Ungültiger Gruppencode für X-Versatz in Zeile " + Conversions.ToString(rlngIdx * 2 + 9) + ".";
                            dblnError   = true;
                        }
                        else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 5], 45, TextCompare: false))
                        {
                            nrstrErrMsg = "Ungültiger Gruppencode für Y-Versatz in Zeile " + Conversions.ToString(rlngIdx * 2 + 11) + ".";
                            dblnError   = true;
                        }
                        else
                        {
                            dlngShapeNumber = Conversions.ToInteger(mobjDictReadValues[rlngIdx]);
                            dlngShapeStyle  = Conversions.ToInteger(mobjDictReadValues[rlngIdx + 1]);
                            bool flag2 = false;
                            ddblShapeScale          = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 2]);
                            ddblShapeRotationDegree = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 3]);
                            ddblShapeOffsetX        = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 4]);
                            ddblShapeOffsetY        = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 5]);
                            rlngIdx += 6;
                            if ((2 & dlngCode74) == 2)
                            {
                                if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 9, TextCompare: false))
                                {
                                    nrstrErrMsg = "Ungültiger Gruppencode für Zeichenfolge in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + ".";
                                    dblnError   = true;
                                }
                                else
                                {
                                    dstrText = Conversions.ToString(mobjDictReadValues[rlngIdx]);
                                    rlngIdx++;
                                }
                            }
                        }
                    }
                    if (!dblnError)
                    {
                        dobjAcadLineTypeDash2 = robjAcadLineTypeDashes.FriendAdd(ref nrstrErrMsg);
                        if (dobjAcadLineTypeDash2 == null)
                        {
                            nrstrErrMsg = nrstrErrMsg + " Ab Zeile " + Conversions.ToString(dlngIdx * 2 + 1) + ".";
                            dblnError   = true;
                        }
                        else
                        {
                            AcadLineTypeDash acadLineTypeDash = dobjAcadLineTypeDash2;
                            bool             flag3            = false;
                            acadLineTypeDash.FriendLetLength = ddblLength;
                            if (dlngCode74 > 0)
                            {
                                acadLineTypeDash.FriendLetFlags74     = dlngCode74;
                                acadLineTypeDash.FriendLetShapeNumber = dlngShapeNumber;
                                acadLineTypeDash.FriendLetShapeStyle  = dlngShapeStyle;
                                bool flag4 = false;
                                acadLineTypeDash.FriendLetShapeScale          = ddblShapeScale;
                                acadLineTypeDash.FriendLetShapeRotationDegree = ddblShapeRotationDegree;
                                acadLineTypeDash.FriendLetShapeOffsetX        = ddblShapeOffsetX;
                                acadLineTypeDash.FriendLetShapeOffsetY        = ddblShapeOffsetY;
                            }
                            if ((2 & dlngCode74) == 2)
                            {
                                acadLineTypeDash.FriendLetText = dstrText;
                            }
                            acadLineTypeDash = null;
                        }
                    }
                }
                bool InternReadDash = !dblnError;
                dobjAcadLineTypeDash2 = null;
                return(InternReadDash);
            }
        }