Hallo
Ich arbeite in SOLIDWORKS 2011 und habe bereits ein Makro, das mir meinen aktiven Plan, den Plan meines aktiven Teils oder alle Pläne der aktiven Baugruppe an der richtigen Stelle speichert.
Dieses Makro verwendet einfach die "Speichern unter"-Funktion im PDF-Format von solidworks (keine virtuellen Drucker wie Bullzip oder PDFcréator!)
Mein Problem ist, dass ich einen Text in meiner Grundkarte mit der Aufschrift "FOR CONSULT" anzeigen lassen möchte, wenn ich dies beim Starten meines PDF-Makros möchte.
Zuerst dachte ich daran, einen abgewinkelten Block mit der richtigen Schriftart und der richtigen Größe zu erstellen, und ich habe versucht, ihn per Makro zu meinem Hintergrund hinzuzufügen. Das Problem ist, dass, da es mehrere Planformate zu unterschiedlichen Formaten gibt, die eingefügte Blockposition sowie die Größe nicht am einfachsten zu handhaben ist.
Ich dachte dann daran, einfach eine Notiz auf meiner Grundkarte zu machen (bereits gut positioniert und in der richtigen Größe) und sie einfach anzeigen und dann ausblenden zu lassen, wenn ich mich entscheide, dass diese Version des Plans nur zur Konsultation zur Verfügung steht.
Bei einer Aufnahme schaffe ich es, mein Textfeld auszublenden:
Sub main()
swApp = _ setzen
Anwendung.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Plan détail1988@Fond Objekt", "HINWEIS", 0.2884716463644, 0.1501347778362, 0, Falsch, 0, Nichts, 0)
Part.HideDimension
Ende Sub
Es funktioniert gut und dieser Code gibt mir gleichzeitig die ID meines Textfelds. Dies ermöglicht es mir, ein weiteres Stück Code zu schreiben, um meine Notiz erneut auszuwählen.
Auf der anderen Seite kann ich, egal wie sehr ich suche, die Funktion nicht finden, die es mir ermöglicht, diese Notiz erneut anzuzeigen!!!
Die Auswahl der Notiz führt mich zu einer weiteren Frage:
Wie steuere ich die ID eines Objekts? denn abhängig von meinen unterschiedlichen Baselines wird die ID meiner Notiz wahrscheinlich nicht immer gleich sein (Objekt détail1988@Fond des Plans" in meinem obigen Beispiel)
Entschuldigung, ich stelle möglicherweise grundlegende Fragen in VBA SolidWorks, aber ich mache sie erst seit sehr kurzer Zeit.
Vielen Dank im Voraus!
Yves