Wie verschiebe ich eine Dimension in einem PEM mithilfe eines Makros?

Hallo

Ich möchte Bemaßungen in meiner Zeichnung verschieben. Als Autodidakt bei SolidWorks Makros verwende ich die Makroaufzeichnung, um mich zu orientieren, aber hier stolpere ich. In der Tat, wenn ich der Bewegung einer Dimension folge, gibt mir das aufgezeichnete Makro zurück:

boolstatus = Part.Extension.SelectByID2("Zeichnung D1@Vue 1", "BEMASSUNG", 3.20196294133094E-02, 0.121152137881271, 0, False, 0, Nichts, 0)'Position der Startbemaßung

boolstatus = Part.Extension.SelectByID2("Zeichnung D1@Vue 1", "DIMENSION", 8.08807508164743E-02, 0.118580499912683, 0, False, 0, Nothing, 0)'Position der Bemaßung beim Verschieben

Ich komme daher zu dem Schluss, dass die fettgedruckten Zahlen die Position der Dimension definieren. Wenn ich jedoch diese Befehlszeilen ausführe, bewegt sich die Dimension überhaupt nicht, selbst wenn sich die Zahl ändert. Ich muss es schlecht nehmen. Können Sie mir helfen?

Vielen Dank im Voraus.

Hallo

Tatsächlich ist die verwendete Anweisung SELECT: sie wird also nur zur Auswahl der Dimension verwendet!

Um es zu verschieben, müssen Sie SETPOSITION verwenden:
http://help.solidworks.com/2011/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IAnnotation~SetPosition.html

Sehen Sie sich die Beispiele hier an:

https://forum.solidworks.com/thread/49057

http://help.solidworks.com/2011/English/api/sldworksapi/Insert_a_Note_Example_VB.htm

 

Hallo

Nur aus Neugierde: Was bringt es, eine Dimension über ein Makro zu verschieben? Meine Feldmaus macht das sehr gut!

 

3 „Gefällt mir“

+ 1000 bis @ TicTic

Ich sehe keine Verwendung eines Makros, um eine Dimension in einer Zeichnung in SW zu verschieben

Ist es aus Neugierde, was zu tun ist???

Bei der zu verschiebenden Dimension handelt es sich um eine Bemaßung, die im MEP erstellt wurde, oder um eine Bemaßung, die aus dem 3D

@+

 

Hallo

Vielen Dank an ".PL" für Ihre Antwort, ich bin auf der Suche nach einer Möglichkeit, "SETPOSITION" zu verwenden. Ich gebe zu, dass ich ein bisschen Schwierigkeiten habe, aber ich stehe erst am Anfang meiner Forschung.

Um die Frage nach der Nützlichkeit der Verschiebung der Position einer Bemaßung in einer TGA zu beantworten, geht es in der Tat darum, die Abmessungen immer an der gleichen Stelle zu positionieren, wodurch sich die Position entsprechend den Abmessungen des Teils ändert, während der Name gleich bleibt. Genauer gesagt: Ich habe ein Bauteil mit mehreren aktiven oder inaktiven Funktionen und Dimensionen, die sich ebenfalls ändern. Alles wird aus einer Excel-Datei konfiguriert, die ein Makro ausführt, das die richtigen Dimensionen jeder Dimension platziert. Ich verwende keine Zimmerfamilien. Sobald der Import dieser Abmessungen und Funktionen aktiv ist oder nicht, wird das Teil neu erstellt und in mein MEP importiert. Bemaßungen werden ebenfalls importiert, erscheinen aber zufällig (auch mit der Option "wie auf Skizze"). Also beschloss ich, ihre Position zu dem Plan festzulegen. Denn der durchschnittliche Benutzer muss nur die Excel-Datei konfigurieren und einen druckbaren Plan haben, ohne die Dimensionen neu positionieren zu müssen.

Vielen Dank an alle

Ich weiß nicht, ob es Ihnen helfen kann, aber in den Zeichenoptionen empfehle ich Ihnen, das Häkchen zu entfernen:

Reduzieren Sie den Abstand beim Entfernen oder Ändern von Bemaßungen (Hinzufügen oder Ändern von Toleranzen, Text usw.)

 

http://help.solidworks.com/2012/french/SolidWorks/sldworks/HIDD_OPTIONS_DRAWINGS_GENERAL.htm

 

Und warum nicht einfach mal

die automatische Angebotsoption von S W 

wenn es sich um im Wesentlichen identische Teile handelt

Die Noten sollten theoretisch an der gleichen Stelle  stehen, es sei denn, die Rippenrefs werden hinzugefügt

Vielen Dank für Ihre Anregungen, aber ich habe bereits viele der Softwaremöglichkeiten zum Importieren oder Formatieren von Bemaßungen getestet und keine von ihnen ermöglicht ein standardisiertes Ergebnis, das ohne Retusche verwendet werden kann, tatsächlich überlappen sich die automatischen Bemaßungen und erscheinen nicht in Übereinstimmung mit den Regeln des Industriedesigns. Dadurch ist es nur möglich, das Display aufzurauen, aber nicht zu vereinheitlichen. Darüber hinaus habe ich auch Winkelmaße, die am schlechtesten automatisch importiert werden können, da die Bemaßung je nach Winkel am anderen Ende der Ebene liegen kann^^

Ich versuche immer noch, "SetPosition" zu verwenden, aber ich habe Probleme mit Deklarationen. Wenn jemand ein einfaches Beispiel hat, das zum Beispiel die Auswahl einer Dimension mit dem Namen "N" und einer Position "X,Y" benötigt, um sie zur Position "X',Y" zu bringen, bin ich daran interessiert^^

Dimmen swApp als Objekt

Teil als Objekt dimmen

Dim boolstatus als boolescher Wert

Dim longstatus As Long, longwarnings As Long

Sub main()

Legen Sie swApp = Application.SldWorks fest

Set Part = swApp.ActiveDoc

boolstatus = Part.ActivateView("Layoutansicht1")

boolstatus = Part.Extension.SelectByID2("N", "DIMENSION", X, Y, 0, True, 0, Nichts, 0)

….

boolstatus = ............. SetPosition(X', Y', 0)

......

Ende Sub