Exemplo n.º 1
0
        private void InternListTable(ref int rlngIdx)
        {
            IEnumerator enumerator = default(IEnumerator);
            AcadLayer   dobjAcadLayer2;

            try
            {
                enumerator = mobjAcadLayers.GetValues().GetEnumerator();
                object dvarXDataType  = default(object);
                object dvarXDataValue = default(object);
                while (enumerator.MoveNext())
                {
                    dobjAcadLayer2 = (AcadLayer)enumerator.Current;
                    AcadLayer acadLayer = dobjAcadLayer2;
                    InternAddToDictLine(ref rlngIdx, 0, acadLayer.DXFName);
                    InternAddToDictLine(ref rlngIdx, 5, acadLayer.Handle);
                    hwpDxf_List.BkDXFList_Reactors((Dictionary <object, object>)acadLayer.DictReactors, ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    hwpDxf_List.BkDXFList_XDictionary((Dictionary <object, object>)acadLayer.DictXDictionaries, ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    InternAddToDictLine(ref rlngIdx, 330, acadLayer.OwnerID);
                    InternAddToDictLine(ref rlngIdx, 100, acadLayer.SuperiorObjectName);
                    InternAddToDictLine(ref rlngIdx, 100, acadLayer.ObjectName);
                    InternAddToDictLine(ref rlngIdx, 2, acadLayer.Name);
                    InternAddToDictLine(ref rlngIdx, 70, acadLayer.Flags70);
                    int dlngColor = (int)acadLayer.Color;
                    if (!acadLayer.LayerOn)
                    {
                        dlngColor = checked (dlngColor * -1);
                    }
                    InternAddToDictLine(ref rlngIdx, 62, dlngColor);
                    InternAddToDictLine(ref rlngIdx, 6, acadLayer.Linetype);
                    if (!acadLayer.Plottable)
                    {
                        InternAddToDictLine(ref rlngIdx, 290, hwpDxf_Functions.BkDXF_BooleanToInteger(acadLayer.Plottable));
                    }
                    InternAddToDictLine(ref rlngIdx, 370, acadLayer.Lineweight);
                    InternAddToDictLine(ref rlngIdx, Conversions.ToInteger("390"), acadLayer.PlotStyleNameReference);
                    acadLayer.GetXData(null, ref dvarXDataType, ref dvarXDataValue);
                    hwpDxf_List.BkDXFList_XData(RuntimeHelpers.GetObjectValue(dvarXDataType), RuntimeHelpers.GetObjectValue(dvarXDataValue), ref rlngIdx, ref mobjDictReadCodes, ref mobjDictReadValues);
                    acadLayer = null;
                }
            }
            finally
            {
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            dobjAcadLayer2 = null;
        }