| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
|
Autor
|
Thema: Schweißsymbole in AutoCad Mechanical automatisieren (2022 mal gelesen)
|
2paul Mitglied

 Beiträge: 20 Registriert: 13.01.2014
|
erstellt am: 28. Aug. 2015 10:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo, wir sitzen gerade an dem Problem, dass sich Schweißsymbole in Inventor nicht automatisieren lassen, da gibt es keine API für. Weiterhin sind die Symbole nicht so gut modifizierbar, wie in ACad. Jetzt war unsere Idee das Ganze mit ACad zu lösen. Wir wollen aus Inventor eine DWG exportieren, die alle Informationen für die Schweißnaht als Führungstext angehängt bekommt. Nummer, Kehl- oder Füllnaht und a-Wert. Jetzt wollte ich fragen, ob es in AutoCad Mechanical die Möglichkeit gibt, diesen Führungstext auszulesen und durch ein Schweißsymbol zu ersetzen ?? Oder einfacher gefragt, gibt es in AutoCad Mechanical eine API für Schweißsymbole ?? Viele Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer

 Beiträge: 9807 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil Inventor AIP 4-11, 2008 -2022 Win 10
|
erstellt am: 30. Aug. 2015 09:17 <-- editieren / zitieren --> Unities abgeben:          Nur für 2paul
Schweißsymbole werden in der Inventor API derzeit tatsächlich noch nicht unterstützt, http://adndevblog.typepad.com/manufacturing/2015/05/is-this-object-supported-by-th e-api.htmlobwohl dass schon 2012 auf der Wishlist stand. Als Ersatz wird auf die Möglichkeit der Erstellung und Platzierung von skizzierten Symbolen hingewiesen. Im AutoCAD Mechanical werden auch Schweißsymbole von der API unterstützt. Es lassen sich die Methoden und Eigenschaften für ein Schweißobjekt z.B. so anzeigen: Code: Befehl: (vlax-dump-object (vlax-ename->vla-object (car (entsel))) 'T) Objekt wählen: ; IMcadWelding2: IMcadWelding Extended Interface ; Eigenschaftswerte: ; AngleValue = ...Indizierter Inhalt wird nicht angezeigt... ; Application (RO) = #<VLA-OBJECT IAcadApplication 000000013ff9d910> ; AreaType = ...Indizierter Inhalt wird nicht angezeigt... ; AssociationType = ...Indizierter Inhalt wird nicht angezeigt... ; BackingValue = ...Indizierter Inhalt wird nicht angezeigt... ; Brazing = ...Indizierter Inhalt wird nicht angezeigt... ; BrazingValue = ...Indizierter Inhalt wird nicht angezeigt... ; ClearanceValue = ...Indizierter Inhalt wird nicht angezeigt... ; ClosedTail = ...Indizierter Inhalt wird nicht angezeigt... ; ContourType = ...Indizierter Inhalt wird nicht angezeigt... ; ContourValue = ...Indizierter Inhalt wird nicht angezeigt... ; ControlCategoryValue = ...Indizierter Inhalt wird nicht angezeigt... ; CoordinateSystem = mehrdimensionales safearray nicht unterstützt ; DepthValue = ...Indizierter Inhalt wird nicht angezeigt... ; DesignationValue = ...Indizierter Inhalt wird nicht angezeigt... ; Document (RO) = #<VLA-OBJECT IAcadDocument 000000002d2a5f58> ; EntityTransparency = "VonLayer" ; FieldWeld = ...Indizierter Inhalt wird nicht angezeigt... ; FinishingValue = ...Indizierter Inhalt wird nicht angezeigt... ; GapValue = ...Indizierter Inhalt wird nicht angezeigt... ; Handle (RO) = "2FD" ; HasExtensionDictionary (RO) = 0 ; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0000000030a68938> ; IdentificationLine = ...Indizierter Inhalt wird nicht angezeigt... ; IndexTotalValue = ...Indizierter Inhalt wird nicht angezeigt... ; IndexValue = ...Indizierter Inhalt wird nicht angezeigt... ; IsAttached (RO) = 0 ; Layer = "AM_5" ; LeaderArrowType = ...Indizierter Inhalt wird nicht angezeigt... ; LeaderColor = ...Indizierter Inhalt wird nicht angezeigt... ; LeaderCount (RO) = 1 ; LeaderLanding = ...Indizierter Inhalt wird nicht angezeigt... ; LeaderLineType = ...Indizierter Inhalt wird nicht angezeigt... ; LengthValue = ...Indizierter Inhalt wird nicht angezeigt... ; Linetype = "ByLayer" ; LinetypeScale = 1.0 ; Lineweight = -1 ; Material = "ByLayer" ; NotesValue = ...Indizierter Inhalt wird nicht angezeigt... ; NumberValue = ...Indizierter Inhalt wird nicht angezeigt... ; ObjectID (RO) = 42 ; ObjectID32 (RO) = 42 ; ObjectName (RO) = "AcmWelding" ; Orientation = 1 ; Origin = (2039.47 2304.94 0.0) ; OwnerID (RO) = 43 ; OwnerID32 (RO) = 43 ; PitchValue = ...Indizierter Inhalt wird nicht angezeigt... ; PlotStyleName = "ByLayer" ; Scale = 1.0 ; SecondarySymType = ...Indizierter Inhalt wird nicht angezeigt... ; SecondarySymTypeValue = ...Indizierter Inhalt wird nicht angezeigt... ; Size2Value = ...Indizierter Inhalt wird nicht angezeigt... ; SizeType = ...Indizierter Inhalt wird nicht angezeigt... ; SizeTypeValue = ...Indizierter Inhalt wird nicht angezeigt... ; SizeValue = ...Indizierter Inhalt wird nicht angezeigt... ; SpacingValue = ...Indizierter Inhalt wird nicht angezeigt... ; SpecificationValue = ...Indizierter Inhalt wird nicht angezeigt... ; Standard = #<VLA-OBJECT IMcadStandard4 00000000389c5b58> ; StandardValue = ...Indizierter Inhalt wird nicht angezeigt... ; SubWeldingCount (RO) = 1 ; SymbolStandard = #<VLA-OBJECT IMcadWeldingStandard2 00000000389c5e28> ; TechnicalReqValue = ...Indizierter Inhalt wird nicht angezeigt... ; ThicknessValue = ...Indizierter Inhalt wird nicht angezeigt... ; TrueColor = #<VLA-OBJECT IAcadAcCmColor 0000000030a68870> ; Type = ...Indizierter Inhalt wird nicht angezeigt... ; Visible = -1 ; Unterstützte Methoden: ; AddLeader (3) ; AddSubWelding (1) ; ArrayPolar (3) ; ArrayRectangular (6) ; AttachGeometry (5) ; Copy () ; Delete () ; DetachGeometry (2) ; GetBoundingBox (2) ; GetExtensionDictionary () ; GetLeader (2) ; GetLeaderAttachment (3) ; GetXData (3) ; Highlight (1) ; HighlightSubWelding (2) ; InsertLeaderNode (3) ; InsertProcess (3) ; IntersectWith (2) ; Mirror (2) ; Mirror3D (3) ; Move (2) ; MoveLeaderNode (3) ; RemoveLeader (1) ; RemoveLeaderNode (2) ; RemoveSubWelding (1) ; Rotate (2) ; Rotate3D (3) ; ScaleEntity (2) ; SetToDefaults () ; SetXData (2) ; TransformBy (1) ; Update () ; UpdateToAttachedObject () T
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de [Diese Nachricht wurde von CAD-Huebner am 30. Aug. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer

 Beiträge: 9807 Registriert: 01.12.2003 AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil Inventor AIP 4-11, 2008 -2022 Win 10
|
erstellt am: 30. Aug. 2015 09:28 <-- editieren / zitieren --> Unities abgeben:          Nur für 2paul
Beim Autodesk Developer Networksteht im AutoCAD Mechanical 2016 Developer’s Guide acmdevguide_20_0.chm (chm - 718Kb) ein Symbols Sample Code - Adding a Welding Symbol (mit Bildern) Code: Dim symbb As McadSymbolBBMgr Set symbb = ThisDrawing.Application.GetInterfaceObject("SymBBAuto.McadSymbolBBMgr") Dim points(0 To 5) As Double points(0) = 10#: points(1) = 10#: points(2) = 0# points(3) = 11#: points(4) = 11#: points(5) = 0# Dim weldsym As McadWelding Set weldsym = ThisDrawing.ModelSpace.AddCustomObject("AcmWelding") weldsym.AreaType = sbBevelGrooveWeld weldsym.ClosedTail = True weldsym.FieldWeld = True weldsym.LengthValue = 10 weldsym.NotesValue = "A" weldsym.NumberValue = 12 weldsym.SpacingValue = 4 weldsym.Type = sbBevelGrooveWeld weldsym.AddLeader points ZoomExtents
------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
2paul Mitglied

 Beiträge: 20 Registriert: 13.01.2014
|
erstellt am: 30. Aug. 2015 14:12 <-- editieren / zitieren --> Unities abgeben:         
Erstmal vielen Dank für die umfangreiche Antwort. ja, die erste Idee war auch eigene Symbole zu programmieren, aber leider lassen sich die Symbole nicht spiegeln, und die sehen nach Norm gespiegelt anders aus, man hätte also alle von einer Seite anziehen müssen, das ist bei der Masse an Schweißnähten nicht möglich. Jetzt wäre noch die Frage, ob das theoretisch in Mechanical möglich ist: Frage den Inhalt eines Führungstextes, den ich in Inventor erzeugt habe ab. Frage das Objekt (Linie) ab, dass mit der Führungslinie verbundenen ist Erzeuge aus Inhalt und verbundenem Objekt ein neues Schweißsymbol Lösche alten Führungstext Ich möchte jetzt keinen Code oder so, ich möchte nur wissen, ob ich den richtigen Ansatz verfolge. Inventor habe ich schon einiges in VB und VBA programmiert, aber ACad wäre für mich komplettes Neuland. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
2paul Mitglied

 Beiträge: 20 Registriert: 13.01.2014
|
erstellt am: 08. Sep. 2015 10:35 <-- editieren / zitieren --> Unities abgeben:         
Ich wollte nur kurz nochmal Feedback geben: Ich habe es jetzt soweit fast alles gelöst, Inventor erzeugt "Führung" und "MText" Kombinationen, die sich in Mechanical abfragen lassen. Damit habe ich den Start der Führungslinie (leider nicht das verbundene Objekt/Linie) und auch den Inhalt des Textfeldes. Mit diesen Informationen kann ich in Mechnical ein neues Schweißsymbol an der Position erzeugen. Das Einzigste wo ich noch Schwierigkeiten habe, ist bei der Erzeugung des Schweißsymbols, der Beispielcode aus der Hilfe ist fehlerhaft, also die 1 zu 1 Kopie des Codes produziert einige Fehler erst das auskommentieren einiger Zeilen hilft: weldsym.AreaType = sbBevelGrooveWeld weldsym.ClosedTail = True weldsym.FieldWeld = True weldsym.LengthValue = 10 weldsym.NotesValue = "A" weldsym.NumberValue = 12 weldsym.SpacingValue = 4 weldsym.Type = sbBevelGrooveWeld Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
2paul Mitglied

 Beiträge: 20 Registriert: 13.01.2014
|
erstellt am: 08. Okt. 2015 16:37 <-- editieren / zitieren --> Unities abgeben:         
Ich habe das Projekt jetzt so weit, dass ich es präsentieren kann, die größten Schwierigkeiten hat das Schweißsymol im Mechanical gemacht. Die Dokumention und das Beispiel ist das einfach falsch. Die richtige Syntax wäre z.B.: weldsym.Type(False, 0, True) = sbFilletWeld weldsym.DepthValue(False, 0, True) = Symbol_aWert und nicht weldsym.Type = sbBevelGrooveWeld weldsym.DepthValue = "a5" Anbei das Video der Präsentation des Projekts: PräsentionsVideo bei Youtube [Diese Nachricht wurde von 2paul am 08. Okt. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |