| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | SPS, eine Veranstaltung am 12.11.2024
|
Autor
|
Thema: kann man die automatische Bemaßung konfigurieren? (1179 / mal gelesen)
|
LeonardStark Mitglied
Beiträge: 108 Registriert: 14.08.2018
|
erstellt am: 11. Feb. 2020 15:35 <-- editieren / zitieren --> Unities abgeben:
hallo liebe Community, sagt mal kann man die automatische Bemaßung des Bemaßungstools irgendwie konfigurieren? Ich hätte z.B. gerne, dass der Bemaßte Punkt immer auf der Seite des Körpers platziert wird, wo auch das Maß ausgegeben wird. Andernfalls kann es passieren, dass die Maßlinie ohne Abstand auf der Körperkante beginnt. ab und an werden Maße vergessen. Maße mit dem selben Wert werden angezeigt. Die muss ich dann löschen. Kann man die Pfeile der ordinatenbemaßung in Striche ändern, ohne dass sich das auf Einzelmaße auswirkt? Und eigentlich möchte ich auch nur die Ansicht anklicken und der Rest soll automatisch passieren. Da wir immer mit Ordinatenmaßen von links und oben arbeiten, sollte das doch möglich sein oder? Dazu arbeite ich seit einiger Zeit immer mal wieder an einem Makro, aber ich hänge noch an so einigen Stellen. Beste Grüße leonard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2795 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 12. Feb. 2020 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für LeonardStark
Hallo Leonard, zu der automatischen Bemaßung kann ich nichts sagen da ich die noch nie genutzt habe. Zitat: Kann man die Pfeile der ordinatenbemaßung in Striche ändern, ohne dass sich das auf Einzelmaße auswirkt?
Meinst du Global oder auf eine einzelne Bemaßung bezogen? Weil Global geht es nicht, hier kann man den Pfeilstile für Bemaßungen allgemein setzen und nicht für jeden Bemaßungstyp separat. Zitat: Und eigentlich möchte ich auch nur die Ansicht anklicken und der Rest soll automatisch passieren. Da wir immer mit Ordinatenmaßen von links und oben arbeiten, sollte das doch möglich sein oder? Dazu arbeite ich seit einiger Zeit immer mal wieder an einem Makro, aber ich hänge noch an so einigen Stellen.
Denkbar wäre soetwas schon, aber einfach klingt dieses vorhaben auf die schnelle nicht, kannst dir ja mal das Beispiel in der API-Hilfe dazu anschauen (Autodimension Selected Drawing View Example (VBA)). Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LeonardStark Mitglied
Beiträge: 108 Registriert: 14.08.2018
|
erstellt am: 14. Feb. 2020 14:43 <-- editieren / zitieren --> Unities abgeben:
Wird die automatische Bemaßung eigentlich von jemandem wirklich genutzt? mein Eindruck ist dass sie genauso viel Nacharbeit verlangt, wie die Maße selbst zu erstellen. Danke für den Hinweis auf das Beispiel. Ich hab damit mein Makro fast fertig schreiben könnnen. Allerdings bin ich da auf ein Problem gestoßen: Ich nutze die Funktion CoordinateInDrawingView aus folgendem Post: https://forum.solidworks.com/thread/224812 um mir die Koordinaten eines Punktes anzuzeigen. Das funktionierte bei meiner ersten getesten Ansicht wunderbar. Allerdings werden bei anderen Ansichten nicht alle Punkte tatsächlich bemaßt. Scheinbar liegt das Problem in folgender For-Schleife:
Code:
Dim PickPt As Variant Dim item As Variant dim swPt4 as variant PickPt = swVertex.GetPoint swPt4 = CoordinateInDrawingView(PickPt, swView) coll.Add swPt4 For j = 0 To coll.count - 1 item = coll(j) LstPickPoint.Add (item) next Debug.Print ("Pickpointliste") For i = 0 To LstPickPoint.count - 1 item = LstPickPoint(i) status = swModelDocExt.SelectByID2("", "VERTEX", item(0), item(1), item(2), True, selmark, Nothing, 0) 'der Punkt wird unberücksichtigt gelassen Next
status = swModelDocExt.SelectByID2("", "VERTEX", item(0), item(1), item(2), True, selmark, Nothing, 0) 'hier wird ein Punkt mit einer Bemaßung gesetzt nRetval = swDrawing.AddOrdinateDimension(swHorizontalOrdinate, vOutline(0) - 0.1, vOutline(3) + 0.015, 0#) 'nRetval = swDrawing.AddOrdinateDimension2(swVerticalOrdinate, -0.001, -0.015, 0#) swDrawing.SetPickMode 'Auswahl beenden
Mit dem zweiten SelectByID2 kann ich teile der Liste LstPickPoint anzeigen lassen. Die Einträge in der Schleife selbst werden aber nicht angezeigt. Bei einer anderen Ansicht funktioniert es allerdings. Dieses Verhalten unterscheidet sich aber von Ansicht zu Ansicht. Kann mir das jemand erklären? [Diese Nachricht wurde von LeonardStark am 14. Feb. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LeonardStark Mitglied
Beiträge: 108 Registriert: 14.08.2018
|
erstellt am: 14. Feb. 2020 15:45 <-- editieren / zitieren --> Unities abgeben:
OK, das Problem hat sich gelöst. Mein Algorithmus zum Punkte aussortieren hat noch eine macke, sodass Punkte doppelt angewählt, und somit wieder abgewählt werden. Hervorragend. Danke. Damit bin ich wieder mal sehr dankbar, dass es dieses Forum gibt und es mich auf die richitgen Stichworte gebracht hat Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|