private void dnButtonCheckBox_Click(object sender, EventArgs e) { CheckBox cb = (CheckBox)sender; foreach (CheckBox checkBox in dnButtons) { if (checkBox.Checked && cb.Name != checkBox.Name) { checkBox.Checked = false; } } string dn = string.Concat(cb.Text.Where(c => !char.IsWhiteSpace(c))); PipeDnEnum pipeDn = (PipeDnEnum)Enum.Parse(typeof(PipeDnEnum), dn); PipeTypeEnum fr = PipeTypeEnum.Frem; foreach (var frb in fremReturButtons) { if (frb.Checked) { fr = (PipeTypeEnum)Enum.Parse(typeof(PipeTypeEnum), frb.Text); } } ActivateLayer(fr, pipeDn); }
public static double GetPipeKOd(Entity ent, PipeSeriesEnum pipeSeries) { PipeTypeEnum pipeType = GetPipeType(ent); PipeSystemEnum pipeSystem = GetPipeSystem(ent); switch (pipeType) { case PipeTypeEnum.Ukendt: return(0.0); case PipeTypeEnum.Twin: switch (pipeSystem) { case PipeSystemEnum.Ukendt: return(0.0); case PipeSystemEnum.Stål: return(GetTwinPipeKOd(ent, pipeSeries)); case PipeSystemEnum.Kobberflex: return(GetCuTwinPipeKOd(ent, pipeSeries)); case PipeSystemEnum.AluPex: return(GetAluPexTwinPipeKOd(ent, pipeSeries)); default: return(0.0); } case PipeTypeEnum.Frem: case PipeTypeEnum.Retur: switch (pipeSystem) { case PipeSystemEnum.Ukendt: return(0.0); case PipeSystemEnum.Stål: return(GetBondedPipeKOd(ent, pipeSeries)); case PipeSystemEnum.Kobberflex: return(GetCuEnkeltPipeKOd(ent, pipeSeries)); case PipeSystemEnum.AluPex: return(GetAluPexEnkeltPipeKOd(ent, pipeSeries)); default: return(0.0); } default: return(0.0); } }
public static bool IsInSituBent(Entity ent) { PipeTypeEnum type = GetPipeType(ent); PipeSystemEnum system = GetPipeSystem(ent); //Flexrør er altid insitu bukkede if ( system == PipeSystemEnum.Kobberflex || system == PipeSystemEnum.AluPex ) { return(true); } switch (type) { case PipeTypeEnum.Ukendt: throw new Exception( $"IsInSituBent -> Entity handle {ent.Handle} has invalid layer!"); case PipeTypeEnum.Twin: if (GetPipeDN(ent) < 65) { return(true); } break; case PipeTypeEnum.Frem: case PipeTypeEnum.Retur: if (GetPipeDN(ent) < 100) { return(true); } break; default: throw new Exception( $"IsInSituBent -> Entity handle {ent.Handle} has invalid layer!"); } return(false); }
public static double GetPipeMinElasticRadius(Entity ent, bool considerInSituBending = true) { if (considerInSituBending && IsInSituBent(ent)) { return(0); } Dictionary <int, double> cuS1Enkelt = new Dictionary <int, double> { { 15, 0.6 }, { 18, 0.7 }, { 22, 0.8 }, { 28, 0.8 }, }; Dictionary <int, double> cuS2Enkelt = new Dictionary <int, double> { { 15, 0.8 }, { 18, 0.8 }, { 22, 0.8 }, { 28, 1.0 }, }; Dictionary <int, double> cuS1Twin = new Dictionary <int, double> { { 22, 0.9 }, { 28, 0.9 }, }; Dictionary <int, double> cuS2Twin = new Dictionary <int, double> { { 22, 1.1 }, { 28, 1.1 }, }; Dictionary <int, double> aluPexS1Enkelt = new Dictionary <int, double> { { 20, 0.7 }, { 25, 0.7 }, { 32, 0.7 }, }; Dictionary <int, double> aluPexS2Enkelt = new Dictionary <int, double> { { 20, 0.7 }, { 32, 0.9 }, }; Dictionary <int, double> aluPexS1Twin = new Dictionary <int, double> { { 20, 0.9 }, { 25, 0.9 }, { 32, 1.1 }, }; Dictionary <int, double> aluPexS2Twin = new Dictionary <int, double> { { 16, 0.9 }, { 20, 1.0 }, { 25, 1.0 }, { 32, 1.5 }, }; Dictionary <int, double> steelRadii = new Dictionary <int, double> { { 20, 13.0 }, { 25, 17.0 }, { 32, 21.0 }, { 40, 24.0 }, { 50, 30.0 }, { 65, 38.0 }, { 80, 44.0 }, { 100, 57.0 }, { 125, 70.0 }, { 150, 84.0 }, { 200, 110.0 }, { 250, 137.0 }, { 300, 162.0 }, { 350, 178.0 }, { 400, 203.0 }, { 999, 0.0 } }; PipeTypeEnum pipeType = GetPipeType(ent); PipeSeriesEnum pipeSeries = GetPipeSeriesV2(ent); PipeSystemEnum pipeSystem = GetPipeSystem(ent); switch (pipeSystem) { case PipeSystemEnum.Ukendt: return(0); case PipeSystemEnum.Stål: return(steelRadii[GetPipeDN(ent)]); case PipeSystemEnum.Kobberflex: switch (pipeType) { case PipeTypeEnum.Ukendt: return(0); case PipeTypeEnum.Twin: switch (pipeSeries) { case PipeSeriesEnum.Undefined: return(0); case PipeSeriesEnum.S1: return(cuS1Twin[GetPipeDN(ent)]); case PipeSeriesEnum.S2: return(cuS2Twin[GetPipeDN(ent)]); case PipeSeriesEnum.S3: return(0); default: return(0); } case PipeTypeEnum.Frem: case PipeTypeEnum.Retur: switch (pipeSeries) { case PipeSeriesEnum.Undefined: return(0); case PipeSeriesEnum.S1: return(cuS1Enkelt[GetPipeDN(ent)]); case PipeSeriesEnum.S2: return(cuS2Enkelt[GetPipeDN(ent)]); case PipeSeriesEnum.S3: return(0); default: return(0); } default: return(0); } case PipeSystemEnum.AluPex: switch (pipeType) { case PipeTypeEnum.Ukendt: return(0); case PipeTypeEnum.Twin: switch (pipeSeries) { case PipeSeriesEnum.Undefined: return(0); case PipeSeriesEnum.S1: return(aluPexS1Twin[GetPipeDN(ent)]); case PipeSeriesEnum.S2: return(aluPexS2Twin[GetPipeDN(ent)]); case PipeSeriesEnum.S3: return(0); default: return(0); } case PipeTypeEnum.Frem: case PipeTypeEnum.Retur: switch (pipeSeries) { case PipeSeriesEnum.Undefined: return(0); case PipeSeriesEnum.S1: return(aluPexS1Enkelt[GetPipeDN(ent)]); case PipeSeriesEnum.S2: return(aluPexS2Enkelt[GetPipeDN(ent)]); case PipeSeriesEnum.S3: return(0); default: return(0); } default: return(0); } default: return(0); } }
internal static void ActivateLayer(PipeTypeEnum pipeType, PipeDnEnum pipeDn) { DocumentCollection docCol = Application.DocumentManager; Database localDb = docCol.MdiActiveDocument.Database; Document doc = docCol.MdiActiveDocument; Editor editor = docCol.MdiActiveDocument.Editor; string layerName = string.Concat( "FJV-", pipeType.ToString(), "-", pipeDn.ToString()).ToUpper(); using (DocumentLock docLock = doc.LockDocument()) using (Transaction tx = localDb.TransactionManager.StartTransaction()) { try { LayerTable lt = localDb.LayerTableId.Go <LayerTable>(tx); Oid ltId; if (!lt.Has(layerName)) { LinetypeTable ltt = localDb.LinetypeTableId.Go <LinetypeTable>(tx); LayerTableRecord ltr = new LayerTableRecord(); ltr.Name = layerName; switch (pipeType) { case PipeTypeEnum.Twin: ltr.Color = Color.FromColorIndex(ColorMethod.ByAci, 6); break; case PipeTypeEnum.Frem: ltr.Color = Color.FromColorIndex(ColorMethod.ByAci, 1); break; case PipeTypeEnum.Retur: ltr.Color = Color.FromColorIndex(ColorMethod.ByAci, 5); break; default: break; } Oid continuous = ltt["Continuous"]; ltr.LinetypeObjectId = continuous; ltr.LineWeight = LineWeight.ByLineWeightDefault; //Make layertable writable lt.CheckOrOpenForWrite(); //Add the new layer to layer table ltId = lt.Add(ltr); tx.AddNewlyCreatedDBObject(ltr, true); } else { ltId = lt[layerName]; } localDb.Clayer = ltId; tx.Commit(); } catch (System.Exception e) { prdDbg(e.ToString() + "\n"); tx.Abort(); return; } } prdDbg(layerName + "\n"); }
public static ErrorNumberEnum StartRecord(int callHandle, PipeTypeEnum pipeType, string filePath) { return((ErrorNumberEnum)WrapperInterface.startRecord(callHandle, (int)pipeType, filePath)); }