Wie kommt man an die Daten von Bohrungen?
Das geht über die Objekteigenschaften und die Modifikationseigenschaften.
Beispielcode VB.Net:PartProp.readFrom(Id)Mody.SetObjectId(Id)If Mody.HoleFieldCount > 0 Then Dim Hf As New PsHoleField Dim Db As New PsDrillBasic Dim j As Int32 For j = 0 To Mody.HoleFieldCount - 1 Dim Handle As Long Handle = Mody.GetHoleFieldHandleFromNumber(j) Hf = Mody.HoleField(Handle) Db = Hf.DrillBasic MsgBox(Db.Diameter) End IfNext
Über Db sind dann alle Daten abgreifbar und auch anpassbar.Änderungen sind dann per PartProp.UpdateObjectData(Id)zu speichern.
Beispielcode C#:
PartProp.readFrom(Id);Mody.SetObjectId(Id);if (Mody.HoleFieldCount > 0 && PartProp.Visible == true){ PsHoleField Hf = new PsHoleField(); PsDrillBasic Db = new PsDrillBasic(); //start loop through all holefields, start with last to avoid problems when deleting hole fields for (int j = Mody.HoleFieldCount - 1; j >= 0; j--) { int Handle = 0; Handle = Mody.GetHoleFieldHandleFromNumber(j); Hf = Mody.get_HoleField(Handle); Db = Hf.DrillBasic; MessageBox.Show("Diameter: " + Db.Diameter); }}
Über Db sind dann alle Daten abgreifbar und auch anpassbar.Änderungen sind dann per Mody.set_HoleField(Handle, Hf);zu speichern.
Über Mody können auch Bohrungen gelöscht oder alle Bohrungen gelöscht werden.
Product TechNotes and FAQs
Bentley Technical Support KnowledgeBase
Bentley LEARN Server