| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: DWG - Bemaßung (137 / mal gelesen)
|
LenardBernd Mitglied Softwareentwickler
Beiträge: 13 Registriert: 02.07.2018 Win 10 Inventor 2019-2025
|
erstellt am: 18. Nov. 2024 08:42 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, ich habe div. Blechbauteile (IPT)! diese IPT‘s mit Stanzbilder hätte ich gerne automatisch bemaßt. Ist Es möglich, dass auch schon in der IPT über eine Regel zu erstellen, oder muss ich eine DWG anlegen, und dort eine Regel schreiben? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2648 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 18. Nov. 2024 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für LenardBernd
Moin Du kannst auch bereits in der IPT Skizzenbemaßungen oder 3D-Modellanmerkungen an das Stanzbild setzen. Das kommt darauf an, wie die zu bemaßende Geometrie erzeugt wird. Wenn eine Reihe Löcher erst durch eine Reihenanordnung erzeugt wird, kann man in der Skizze logischerweise den Lochabstand noch nicht bemaßen. Eine Mischung aus beiden ist auch möglich. Die Bemaßungen können in der Ansicht auf der Zeichnung abgerufen und eingeblendet werden. Meist fliegen die Bemaßungen dann irgendwo hin und das Positionieren per Code ist nicht ganz einfach. Generell, wenn die zu bemaßenden Objekte nicht bereits irgendwie gekennzeichnet sind, ist es per Code wirklich eine Herausforderung eine funktionale und sinnvolle Bemaßung zu erstellen. Einfach die Länge oder den Radius jeder Kante zu bemaßen ist meist unzureichend.
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LenardBernd Mitglied Softwareentwickler
Beiträge: 13 Registriert: 02.07.2018 Win 10 Inventor 2019-2025
|
erstellt am: 18. Nov. 2024 10:37 <-- editieren / zitieren --> Unities abgeben:
|
LenardBernd Mitglied Softwareentwickler
Beiträge: 13 Registriert: 02.07.2018 Win 10 Inventor 2019-2025
|
erstellt am: 18. Nov. 2024 13:26 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2648 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 18. Nov. 2024 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für LenardBernd
Moin Die Stanzbildermittelpunkte bekommt man im Modell über die PunchToolFeature.CenterPoints als Skizzenpunktkollektion. Für die 3D-Anmerkungen wirst du die mit einem SketchToModelTransform in den Modellraum übertragen müssen. Dann musst du dir noch überlegen, was du als Nullpunkt nimmst. Koordinatenursprung wäre hier das einfachste. Vom Ursprung und dem Skizzenpunkt jeweils ein GeometryIntent erstellen, die Blechfläche als AnnotationPlane definieren und dann noch einen Punkt für die TextPosition ermitteln. Dann hast du alle Infos zusammen, glaub ich. Seit Version 2018 sollte es funktionieren bzw. alles was die API bietet ist auch über iLogic erreichbar. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LenardBernd Mitglied Softwareentwickler
Beiträge: 13 Registriert: 02.07.2018 Win 10 Inventor 2019-2025
|
erstellt am: 18. Nov. 2024 14:17 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2648 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 18. Nov. 2024 15:43 <-- editieren / zitieren --> Unities abgeben: Nur für LenardBernd
Moin Anbei ein stark vereinfachtes Beispiel. Erzeuge ein Blechteil mit einer Fläche auf der XY-Ebene und die linke untere Ecke sollte im Ursprung liegen. Dann einfach ein paar Stanzungen einfügen und mal laufen lassen. Die Positionierung der Maße ist durcheinander weil einfach die Punkte wie sie kommen benutzt werden. Da müßte man die Kollektionen erst aufsteigend nach X bzw. Y sortieren und auch der Abstand zum Modell sollte einer sinnvollen Regel folgen. Mit der CreateAnnotationPlaneDefinitionUsingPlane Methode müßte es auch gehen die Plane der Skizze des Stanzfeatures zu nehmen. Immer davon auszugehen, das die Fläche auf XY liegt dürfte nicht funktionieren. Ebenso sollte die X-Achsenrichtung nicht fix über die Ursprungs X-Achse definiert werden. Da ist noch viel Arbeit übrig. Code:
Option Explicit onDim oApp As Inventor.Application = ThisApplication Dim oDoc As PartDocument = oApp.ActiveDocument Dim oCompDef As SheetMetalComponentDefinition= oDoc.ComponentDefinition If oCompDef.Features.PunchToolFeatures.Count = 0 Then Call MsgBox("No punches.", vbInformation) Exit Sub End If ' Create an AnnotationPlaneDef ' Definition is reused for each annotation Dim oAnnoPlaneDef As AnnotationPlaneDefinition = oCompDef.ModelAnnotations.CreateAnnotationPlaneDefinitionUsingPlane(oCompDef.WorkPlanes.Item(3), oCompDef.WorkAxes.Item(1)) 'XY-Ebene, X-Achse ' Get the Origin Dim oOrigin As WorkPoint= oCompDef.WorkPoints.Item(1) ' Create a GeometryIntent of the origin Dim oIntent1 As GeometryIntent = oCompDef.CreateGeometryIntent(oOrigin) ' Set a reference to the LinearModelDimensions Dim oLinModelDims As LinearModelDimensions = oCompDef.ModelAnnotations.ModelDimensions.LinearModelDimensions ' Traverse the PunchToolFeatures Dim oFeat As PunchToolFeature For Each oFeat In oCompDef.Features.PunchToolFeatures ' get the CenterPoints collection Dim oColl As ObjectCollection = oFeat.PunchCenterPoints Dim oPoint As SketchPoint For Each oPoint In oColl Dim oIntent2 As GeometryIntent = oCompDef.CreateGeometryIntent(oPoint) Dim oSketch As PlanarSketch= oPoint.Parent Dim oModelPoint As Point = oSketch.SketchToModelSpace(oPoint.Geometry) Dim oTextPos As Point Dim oLinModelDimDef As LinearModelDimensionDefinition Dim oLinModelDim As LinearModelDimension ' horizontal oTextPos = oApp.TransientGeometry.CreatePoint(oModelPoint.X / 2, -oModelPoint.Y, 0) oLinModelDimDef = oLinModelDims.CreateDefinition(oIntent1, oIntent2, oAnnoPlaneDef, oTextPos, kHorizontalDimensionType) oLinModelDim = oLinModelDims.Add(oLinModelDimDef) ' vertical oTextPos = oApp.TransientGeometry.CreatePoint(-oModelPoint.X, oModelPoint.Y / 2, 0) oLinModelDimDef = oLinModelDims.CreateDefinition(oIntent1, oIntent2, oAnnoPlaneDef, oTextPos, kVerticalDimensionType) oLinModelDim = oLinModelDims.Add(oLinModelDimDef) Next Next
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LenardBernd Mitglied Softwareentwickler
Beiträge: 13 Registriert: 02.07.2018 Win 10 Inventor 2019-2025
|
erstellt am: 20. Nov. 2024 07:11 <-- editieren / zitieren --> Unities abgeben:
|
LenardBernd Mitglied Softwareentwickler
Beiträge: 13 Registriert: 02.07.2018 Win 10 Inventor 2019-2025
|
erstellt am: 22. Nov. 2024 10:08 <-- editieren / zitieren --> Unities abgeben:
|