Пример #1
0
        private void InternListTable(ref int rlngIdx)
        {
            IEnumerator   enumerator = default(IEnumerator);
            AcadTextStyle dobjAcadTextStyle2;

            try
            {
                enumerator = mobjAcadTextStyles.GetValues().GetEnumerator();
                object dvarXDataType  = default(object);
                object dvarXDataValue = default(object);
                while (enumerator.MoveNext())
                {
                    dobjAcadTextStyle2 = (AcadTextStyle)enumerator.Current;
                    AcadTextStyle acadTextStyle = dobjAcadTextStyle2;
                    InternAddToDictLine(ref rlngIdx, 0, acadTextStyle.DXFName);
                    InternAddToDictLine(ref rlngIdx, 5, acadTextStyle.Handle);
                    hwpDxf_List.BkDXFList_Reactors((Dictionary <object, object>)acadTextStyle.DictReactors, ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    hwpDxf_List.BkDXFList_XDictionary((Dictionary <object, object>)acadTextStyle.DictXDictionaries, ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    InternAddToDictLine(ref rlngIdx, 330, acadTextStyle.OwnerID);
                    InternAddToDictLine(ref rlngIdx, 100, acadTextStyle.SuperiorObjectName);
                    InternAddToDictLine(ref rlngIdx, 100, acadTextStyle.ObjectName);
                    InternAddToDictLine(ref rlngIdx, 2, acadTextStyle.Name);
                    InternAddToDictLine(ref rlngIdx, 70, acadTextStyle.Flags70);
                    InternAddToDictLine(ref rlngIdx, 40, RuntimeHelpers.GetObjectValue(acadTextStyle.Height));
                    InternAddToDictLine(ref rlngIdx, 41, RuntimeHelpers.GetObjectValue(acadTextStyle.Width));
                    InternAddToDictLine(ref rlngIdx, 50, RuntimeHelpers.GetObjectValue(acadTextStyle.ObliqueAngleDegree));
                    InternAddToDictLine(ref rlngIdx, 71, acadTextStyle.TextGenerationFlag);
                    InternAddToDictLine(ref rlngIdx, 42, RuntimeHelpers.GetObjectValue(acadTextStyle.LastHeight));
                    InternAddToDictLine(ref rlngIdx, 3, acadTextStyle.FontFile);
                    InternAddToDictLine(ref rlngIdx, 4, acadTextStyle.BigFontFile);
                    acadTextStyle.GetXData(null, ref dvarXDataType, ref dvarXDataValue);
                    hwpDxf_List.BkDXFList_XData(RuntimeHelpers.GetObjectValue(dvarXDataType), RuntimeHelpers.GetObjectValue(dvarXDataValue), ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    acadTextStyle = null;
                }
            }
            finally
            {
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            dobjAcadTextStyle2 = null;
        }
Пример #2
0
        private bool InternReadStyle(double vdblDefOwnerID, ref int rlngIdx, ref AcadTextStyles robjAcadTextStyles, ref string nrstrErrMsg)
        {
            nrstrErrMsg = null;
            Dictionary <object, object> dobjDictReactors2    = new Dictionary <object, object>();
            Dictionary <object, object> dobjDictXDictionary2 = new Dictionary <object, object>();
            int dlngStartIdx = rlngIdx;

            checked
            {
                double        ddblObjectID    = default(double);
                double        ddblOwnerID     = default(double);
                bool          InternReadStyle = default(bool);
                AcadTextStyle dobjAcadTextStyle2;
                if (hwpDxf_ReadRef.BkDXFReadRef_AcadSymbolTableRecord(mobjAcadDatabase, vdblDefOwnerID, "STYLE", mobjDictReadCodes, mobjDictReadValues, ref rlngIdx, ref ddblObjectID, ref ddblOwnerID, ref dobjDictReactors2, ref dobjDictXDictionary2, ref nrstrErrMsg))
                {
                    bool dblnError;
                    if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx], 100, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Objektname in Zeile " + Conversions.ToString(rlngIdx * 2 + 1) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadValues[rlngIdx], "AcDbTextStyleTableRecord", TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Objektname in Zeile " + Conversions.ToString(rlngIdx * 2 + 2) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 1], 2, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Textstilname in Zeile " + Conversions.ToString(rlngIdx * 2 + 3) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 2], 70, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Standard-Flag-Werte in Zeile " + Conversions.ToString(rlngIdx * 2 + 5) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 3], 40, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für feste Texthöhe in Zeile " + Conversions.ToString(rlngIdx * 2 + 7) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 4], 41, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Breitenfaktor in Zeile " + Conversions.ToString(rlngIdx * 2 + 9) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 5], 50, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Neigungswinkel in Zeile " + Conversions.ToString(rlngIdx * 2 + 11) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 6], 71, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Flag-Werte für Texterstellung in Zeile " + Conversions.ToString(rlngIdx * 2 + 13) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 7], 42, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für zuletzt verwendete Höhe in Zeile " + Conversions.ToString(rlngIdx * 2 + 15) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 8], 3, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Dateiname der Primärschrift in Zeile " + Conversions.ToString(rlngIdx * 2 + 17) + ".";
                        dblnError   = true;
                    }
                    else if (Operators.ConditionalCompareObjectNotEqual(mobjDictReadCodes[rlngIdx + 9], 4, TextCompare: false))
                    {
                        nrstrErrMsg = "Ungültiger Gruppencode für Dateiname des Big Fonts in Zeile " + Conversions.ToString(rlngIdx * 2 + 19) + ".";
                        dblnError   = true;
                    }
                    else
                    {
                        string dstrName               = Conversions.ToString(mobjDictReadValues[rlngIdx + 1]);
                        int    dlngCode70             = Conversions.ToInteger(mobjDictReadValues[rlngIdx + 2]);
                        bool   flag                   = false;
                        double ddblHeight             = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 3]);
                        double ddblWidth              = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 4]);
                        double ddblObliqueAngleDegree = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 5]);
                        int    dlngTextGenerationFlag = Conversions.ToInteger(mobjDictReadValues[rlngIdx + 6]);
                        bool   flag2                  = false;
                        double ddblLastHeight         = Conversions.ToDouble(mobjDictReadValues[rlngIdx + 7]);
                        string dstrFontFile           = Conversions.ToString(mobjDictReadValues[rlngIdx + 8]);
                        string dstrBigFontFile        = Conversions.ToString(mobjDictReadValues[rlngIdx + 9]);
                        rlngIdx += 10;
                        object dvarXDataType  = default(object);
                        object dvarXDataValue = default(object);
                        dblnError = !hwpDxf_ReadBas.BkDXFReadBas_XData(ref rlngIdx, mobjDictReadCodes, mobjDictReadValues, ref dvarXDataType, ref dvarXDataValue, ref nrstrErrMsg);
                        if (!dblnError)
                        {
                            if (robjAcadTextStyles.FriendNameExist(dstrName))
                            {
                                nrstrErrMsg = "Textstil " + dstrName + " ab Zeile " + Conversions.ToString(dlngStartIdx * 2 + 1) + " existiert bereits.";
                                dblnError   = true;
                            }
                            else
                            {
                                dobjAcadTextStyle2 = robjAcadTextStyles.FriendAddAcadObject(dstrName, ddblObjectID, ref nrstrErrMsg);
                                if (dobjAcadTextStyle2 == null)
                                {
                                    nrstrErrMsg = "Das Objekt konnte nicht hinzugefügt werden.";
                                    dblnError   = true;
                                }
                                else
                                {
                                    AcadTextStyle acadTextStyle = dobjAcadTextStyle2;
                                    acadTextStyle.FriendLetFlags70 = dlngCode70;
                                    bool flag3 = false;
                                    acadTextStyle.Height             = ddblHeight;
                                    acadTextStyle.Width              = ddblWidth;
                                    acadTextStyle.ObliqueAngleDegree = ddblObliqueAngleDegree;
                                    acadTextStyle.TextGenerationFlag = unchecked ((Enums.AcTextGenerationFlag)dlngTextGenerationFlag);
                                    bool flag4 = false;
                                    acadTextStyle.LastHeight               = ddblLastHeight;
                                    acadTextStyle.FontFile                 = dstrFontFile;
                                    acadTextStyle.BigFontFile              = dstrBigFontFile;
                                    acadTextStyle.FriendSetDictReactors    = dobjDictReactors2;
                                    acadTextStyle.FriendSetDictXDictionary = dobjDictXDictionary2;
                                    acadTextStyle.SetXData(RuntimeHelpers.GetObjectValue(dvarXDataType), RuntimeHelpers.GetObjectValue(dvarXDataValue));
                                    acadTextStyle = null;
                                }
                            }
                        }
                    }
                    InternReadStyle = !dblnError;
                }
                dobjDictReactors2    = null;
                dobjDictXDictionary2 = null;
                dobjAcadTextStyle2   = null;
                return(InternReadStyle);
            }
        }
Пример #3
0
        private void InternListSysVars(ref int rlngIdx, AcadDimStyle vobjAcadDimStyle)
        {
            object        dvarKeys         = RuntimeHelpers.GetObjectValue(hwpDxf_Functions.BkDXF_KeyCollectionToArray(hwpDxf_Vars.pobjDictDxfDimVarOrder.Keys));
            object        dvarItems        = RuntimeHelpers.GetObjectValue(hwpDxf_Functions.BkDXF_ValueCollectionToArray(hwpDxf_Vars.pobjDictDxfDimVarOrder.Values));
            AcadSysVars   dobjAcadSysVars2 = vobjAcadDimStyle.FriendGetAcadSysVars;
            int           num               = Information.LBound((Array)dvarKeys);
            int           num2              = Information.UBound((Array)dvarKeys);
            object        dvarValue         = default(object);
            AcadTextStyle dobjAcadTextStyle = default(AcadTextStyle);
            AcadBlock     dobjAcadBlock4;
            AcadSysVar    dobjAcadSysVar;

            for (int dlngKeyIdx = num; dlngKeyIdx <= num2; dlngKeyIdx = checked (dlngKeyIdx + 1))
            {
                int dlngKey = Conversions.ToInteger(NewLateBinding.LateIndexGet(dvarKeys, new object[1]
                {
                    dlngKeyIdx
                }, null));
                string dstrItem = Conversions.ToString(NewLateBinding.LateIndexGet(dvarItems, new object[1]
                {
                    dlngKeyIdx
                }, null));
                dobjAcadSysVar = dobjAcadSysVars2.FriendGetItem(dstrItem);
                if (dobjAcadSysVar == null)
                {
                    continue;
                }
                switch (dlngKey)
                {
                case 340:
                    dobjAcadTextStyle = (AcadTextStyle)mobjAcadDatabase.TextStyles.FriendGetItem(RuntimeHelpers.GetObjectValue(dobjAcadSysVar.Value));
                    if (dobjAcadTextStyle != null)
                    {
                        dvarValue = dobjAcadTextStyle.ObjectID;
                    }
                    break;

                case 341:
                    dobjAcadBlock4 = (AcadBlock)mobjAcadDatabase.Blocks.FriendGetItem(RuntimeHelpers.GetObjectValue(dobjAcadSysVar.Value));
                    if (dobjAcadTextStyle != null)
                    {
                        dvarValue = dobjAcadBlock4.ObjectID;
                    }
                    break;

                case 342:
                    dobjAcadBlock4 = (AcadBlock)mobjAcadDatabase.Blocks.FriendGetItem(RuntimeHelpers.GetObjectValue(dobjAcadSysVar.Value));
                    if (dobjAcadTextStyle != null)
                    {
                        dvarValue = dobjAcadBlock4.ObjectID;
                    }
                    break;

                case 343:
                    dobjAcadBlock4 = (AcadBlock)mobjAcadDatabase.Blocks.FriendGetItem(RuntimeHelpers.GetObjectValue(dobjAcadSysVar.Value));
                    if (dobjAcadTextStyle != null)
                    {
                        dvarValue = dobjAcadBlock4.ObjectID;
                    }
                    break;

                case 344:
                    dobjAcadBlock4 = (AcadBlock)mobjAcadDatabase.Blocks.FriendGetItem(RuntimeHelpers.GetObjectValue(dobjAcadSysVar.Value));
                    if (dobjAcadTextStyle != null)
                    {
                        dvarValue = dobjAcadBlock4.ObjectID;
                    }
                    break;

                default:
                    dvarValue = RuntimeHelpers.GetObjectValue(dobjAcadSysVar.Value);
                    break;
                }
                InternAddToDictLine(ref rlngIdx, dlngKey, RuntimeHelpers.GetObjectValue(dvarValue));
            }
            dobjAcadTextStyle = null;
            dobjAcadBlock4    = null;
            dobjAcadSysVar    = null;
            dobjAcadSysVars2  = null;
        }