- 47
- 41 487
Solidworks Makroprogrammierung
Germany
เข้าร่วมเมื่อ 30 ส.ค. 2015
Mein Name ist Bernd Hornemann und auf diesem Kanal beschäftige ich mich mit dem Programmieren von Makros in Solidworks.
Ich werde die Videos für absolute Anfänger auslegen und im Laufe der Zeit mich immer tiefer mit den Möglichkeiten von Solidworks beschäftigen, die mit Makros zu lösen sind.
Discord: discord.gg/3H6QpMeTP3
Ich werde die Videos für absolute Anfänger auslegen und im Laufe der Zeit mich immer tiefer mit den Möglichkeiten von Solidworks beschäftigen, die mit Makros zu lösen sind.
Discord: discord.gg/3H6QpMeTP3
Solidworks Makroprogrammierung Folge 36 - Welle erstellen
In diesem Video erstelle ich das Projekt aus dem vorherigen Video.
Solltet ihr Fragen zu bestimmten Themen haben, dann schreibt sie in die Kommentare. Ich werde diese dann in meinen Videos aufgreifen.
Zusätzlich findet man auf meiner Webseite noch den Code aus dem Video.
solidworks.berndhornemann.de
#Solidworks #VBA #Makro
Discord: discord.gg/3H6QpMeTP3
Solltet ihr Fragen zu bestimmten Themen haben, dann schreibt sie in die Kommentare. Ich werde diese dann in meinen Videos aufgreifen.
Zusätzlich findet man auf meiner Webseite noch den Code aus dem Video.
solidworks.berndhornemann.de
#Solidworks #VBA #Makro
Discord: discord.gg/3H6QpMeTP3
มุมมอง: 307
วีดีโอ
Solidworks Makroprogrammierung Folge 35 - Projekt: Welle erstellen
มุมมอง 167ปีที่แล้ว
In diesem Video stelle ich euch das Projekt für das kommende Video vor. Wie in dem vorherigen Video angekündigt geht es bei diesem Projekt um wiederkehrende Erstellungen durch ein Formular und das die Eingaben eines Nutzers automatisch erstellt werden. Solltet ihr Fragen zu bestimmten Themen haben, dann schreibt sie in die Kommentare. Ich werde diese dann in meinen Videos aufgreifen. Zusätzlich...
Solidworks Makroprogrammierung Folge 34 - Feature erstellen
มุมมอง 197ปีที่แล้ว
In diesem Video werde ich euch zeigen, wie aus einer Skizze dann ein Volumen entstehen kann. Solltet ihr Fragen zu bestimmten Themen haben, dann schreibt sie in die Kommentare. Ich werde diese dann in meinen Videos aufgreifen. Zusätzlich findet man auf meiner Webseite noch den Code aus dem Video. solidworks.berndhornemann.de #Solidworks #VBA #Makro Discord: discord.gg/3H6QpMeTP3
Solidworks Makroprogrammierung Folge 33 - Skizze erstellen II
มุมมอง 221ปีที่แล้ว
In diesem Video werde ich euch zeigen, auf welche Schwierigkeit man beim erstellen von Skizzen treffen kann. Solltet ihr Fragen zu bestimmten Themen haben, dann schreibt sie in die Kommentare. Ich werde diese dann in meinen Videos aufgreifen. Zusätzlich findet man auf meiner Webseite noch den Code aus dem Video. solidworks.berndhornemann.de #Solidworks #VBA #Makro Discord: discord.gg/3H6QpMeTP3
Solidworks Makroprogrammierung Folge 32 - Skizze erstellen I
มุมมอง 363ปีที่แล้ว
Solidworks Makroprogrammierung Folge 32 - Skizze erstellen I
Solidworks Makroprogrammierung Folge 31 - Rekursion
มุมมอง 220ปีที่แล้ว
Solidworks Makroprogrammierung Folge 31 - Rekursion
Solidworks Makroprogrammierung Folge 30 - ListBox Inhalt ändern und zurück schreiben
มุมมอง 231ปีที่แล้ว
Solidworks Makroprogrammierung Folge 30 - ListBox Inhalt ändern und zurück schreiben
Solidworks Makroprogrammierung Folge 29 - ListBox füllen
มุมมอง 2972 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 29 - ListBox füllen
Solidworks Makroprogrammierung Folge 28 - UI erstellen
มุมมอง 3192 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 28 - UI erstellen
Solidworks Makroprogrammierung Folge 27 - Projektvorstellung
มุมมอง 2552 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 27 - Projektvorstellung
Solidworks Makroprogrammierung Folge 26 - Bemaßungen schreiben
มุมมอง 3172 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 26 - Bemaßungen schreiben
Solidworks Makroprogrammierung Folge 25 - Bemaßungen auslesen
มุมมอง 4722 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 25 - Bemaßungen auslesen
Solidworks Makroprogrammierung Folge 24 - UI erstellen
มุมมอง 3352 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 24 - UI erstellen
Solidworks Makroprogrammierung Folge 23 - Projektvorstellung
มุมมอง 2882 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 23 - Projektvorstellung
Solidworks Makroprogrammierung Folge 22 - Feature Manager durchsuchen III
มุมมอง 3042 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 22 - Feature Manager durchsuchen III
Solidworks Makroprogrammierung Folge 21 - Feature Manager durchsuchen II
มุมมอง 3452 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 21 - Feature Manager durchsuchen II
Solidworks Makroprogrammierung Folge 20 - Feature Manager durchsuchen I
มุมมอง 5072 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 20 - Feature Manager durchsuchen I
Solidworks Makroprogrammierung Folge 19 - Benutzer Auswahl auswerten: Grundlage
มุมมอง 3192 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 19 - Benutzer Auswahl auswerten: Grundlage
Solidworks Makroprogrammierung Folge 18 - Formular erweitern: DXF
มุมมอง 3432 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 18 - Formular erweitern: DXF
Solidworks Makroprogrammierung Zuschauerfrage : Die Erste
มุมมอง 3502 ปีที่แล้ว
Solidworks Makroprogrammierung Zuschauerfrage : Die Erste
Solidworks Makroprogrammierung Folge 17 - Formular erweitern: PDF
มุมมอง 4153 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 17 - Formular erweitern: PDF
Solidworks Makroprogrammierung Folge 16 - Formular erweitern: STEP
มุมมอง 4233 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 16 - Formular erweitern: STEP
Solidworks Makroprogrammierung Folge 15 - Code umstrukturieren
มุมมอง 4503 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 15 - Code umstrukturieren
Solidworks Makroprogrammierung Folge 14 - UserForm mit Code nutzbar machen
มุมมอง 6343 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 14 - UserForm mit Code nutzbar machen
Solidworks Makroprogrammierung Folge 13 - Eine UserForm erstellen
มุมมอง 6673 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 13 - Eine UserForm erstellen
Solidworks Makroprogrammierung Folge 12 - Benutzereingaben mit der InputBox
มุมมอง 5673 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 12 - Benutzereingaben mit der InputBox
Solidworks Makroprogrammierung Folge 11 - Speichern ins STEP Format und Bilddatei
มุมมอง 6793 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 11 - Speichern ins STEP Format und Bilddatei
Solidworks Makroprogrammierung Folge 10 - Speichern ins DXF/DWG Format
มุมมอง 8603 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 10 - Speichern ins DXF/DWG Format
Solidworks Makroprogrammierung Folge 9 - Speichern ins PDF Format
มุมมอง 1.3K3 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 9 - Speichern ins PDF Format
Solidworks Makroprogrammierung Folge 8 - Der Makrorekorder
มุมมอง 7633 ปีที่แล้ว
Solidworks Makroprogrammierung Folge 8 - Der Makrorekorder
Ich habe den Fehler in meinem Code gefunden und werde nächste Woche im Stream diesen auch zeigen und beheben. Wer nicht so lange warten möchte, kann den bereinigten Code schon jetzt auf meiner Webseite nachschlagen.
Super Video.
Vielen Dank für das positive Feedback.
Irgendwie ist mein Kommentar verschwunden... Super Video. Leider ist der Chatverlauf auch nicht mehr da.
Stimmt, sehe ich jetzt auch. Da werde ich beim nächsten Mal drauf achten. Scheint als müsste ich da einen Haken setzen, damit der Chatverlauf auch nach dem Stream noch verfügbar ist.
@@SWMP Habe da was entdeckt, schon älter, aber es könnte passen: Kann am Schneiden der Aufnahme liegen th-cam.com/video/EHBLFTjQvfY/w-d-xo.htmlsi=WyKxs9vHYzJ1mBCO Du hast doch den Anfang inzwischen geschnitten, oder. Übrigens auch bei den vorangegangenen Live-Videos.
Vielen Dank für den Link. Das ist bei mir der Fall. Na gut, dann werde ich in Zukunft meine Videos nicht mehr schneiden.
Ja VBA ist schlimm. Da gibt es praktisch nichts. Das Userform kann keine Tasten empfangen. Das kann nur ein Button. Also immer Fokus auf den Button. Timer gibt es auch nicht. Muss man selbst aus der User32.dll laden. Dann stürzt VBA und SW ab, wenn ein Fehler ist, oder SW wird mit Nachrichten zugebombt. Der Timer geht nicht im Userform. Aber von außen kann man keine Sub oder Funktion von der Userform aufrufen. Man braucht wieder ein was, was die Daten versteckt rübergibt. Ja VBA ... Wir nehmen den Dateinahmen zum markieren. Und ich arbeite gerne mit Konstanten. Zum Beispiel das "-b" als Kostante. Ist zwar mehr Schreibarbeit, aber wenn zB das B zu einem A werden soll, ändert man nur die Kosntante und wenn man sich vertippt passt VBA auf. Sucht man nach "-b" und hat sich vertan merkt es der Kompiler nicht. Ich wandle auch gleich das Komma in einen Punkt um.
Nachtrag: Ich versuche Code nicht doppelt zu schreiben. Bei den 3 Anhängseln reicht eine Sub. Beim Sub Klick wird die Sub aufgerufen und das "-b" als String mitgegeben. Wenn die Textbox jetzt besipielsweise: TB_Sufix-b heisßt kann man in der Sub die Textbox mit Me("T_Sufix" & String) ansprechen. Eine Sub für mehrere Eingaben. Bei 3 Textboxen ist es noch nicht so schlimm, 3 Codes zu ändern. Aber ich habe auch schon 10 gehabt und hatte diese mit einer Schleife angesprochen.
Das mit den Fehlern finden ist echt so ne Sache… vielleicht hast du da noch mehr Tipps für die Fehlersuche. Freu mich schon auf nächste Woche.
Noch ein kleiner Nachtrag: Deine Hilfe zu unserem Problem hatte mir damals wirklich sehr geholfen. Zur Erklärung: Wenn man eine Oberfläche graviert, wird die ursprüngliche Fläche in lauter kleine Flächen zerteilt. Da die Oberfläche (Farbe oder Erscheinungsbild) wieder herzustellen ist sehr aufwändig. Noch dazu kann es sein, das man bei einer Datei "alle Erscheinungsbilder" entfernen muss. Dann hätte man die Arbeit wieder vor sich... Da macht dann so ein Makro richtig Spaß. @Bernd: Schön zu sehen, dass ich nicht der einzige bin der zwischen der On- und Offline-Hilfe hin und herspringt. Deine Art der Suche versuche ich auch immer wieder zu kopieren.
Ich hätte einen Tipp. Den Faktor, mit dem man runden möchte, würde ich als Const ind den Code schreiben. In dem Beispiel stand 6x Round drin. Wenn man den Wert ändern möchte, muss man 6x ran. Eine Konstante und dann überall eintragen. Da kann man dann auch schneller was ändern. Überhaupt setzte ich überall Konstanten ein, wo man vielleicht irgendwann was anpassen müsste. Die stehen dann oben im Code und man muss nicht danach suchen. Ansonsten sind die Probleme sicher jeden bekannt, der mit Fließkommazahlen arbeitet. Niemals Fließkommazahlen direkt miteinander vergleichen, sondern immer mit einer Ungenauigkeit rechnen.
Nachtrag. Taschenrechner rechnen mit mindestens einer Stelle mehr als sie anzeigen. Dann wird gerundet, um das Fließkommaproblem zu umgehen. Ich habe auch schon Rechner-Apps gefunden, die das nicht berücksichtigen. Die Apps nutze ich nicht, auch wenn die so gut sind.
Wieder super erklärt, danke.
Danke für das Lob!
Faszinierend, dir zuzuschauen wie du das alles weißt und erklärst. Vielen Dank dafür. Mach so weiter. 👍
Ich werde versuchen so weiterzumachen. Ich muss aber auch dazu sagen, dass ich mir das über viele Jahre erarbeitet habe und dieser Kanal eine Konsequenz daraus ist, dass es nur sehr wenige bis gar keine Quellen in deutscher Sprache gibt.
@@SWMP ja genau, man findet so gut wie keine deutschen Informationen über die SW-API. Selbst das Schulungshandbuch ist nicht in deutsch. Deswegen ist es Klasse, dass Du diesen Kanal erschaffen hast.
Wie immer, top erklärt
Danke für das Lob!
Sehr gut erklärt. Danke
Danke für das Lob!
Glückwunsch! Ausgezeichnete Klasse.
Danke für das Lob!
@@SWMP I'm from Brazil, watching the video with translated subtitles.
Mal wieder richtig gut erklärt. Besonders gefällt mir, dass es in deinen Videos nicht nur um die einzelnen Methoden geht, sondern auch immer wieder um den möglichen gesamten Aufbau von Makros. Ich finde auch hier wieder: Nach deiner Vorstellung im Video davor denkt man sich, OK das wird jetzt eine ganze Ecke schwerer als bisher. Am Ende diesem Videos erkennt man: Bis auf ein paar Befehle müsste ich es ja eigentlich schon können (wenn die Videos davor gesehen wurden). Fazit für mich: Auch wenn ich wahrscheinlich nie das vorgestellte Makro 1:1 brauchen werden, stecken hier im Video mal wieder zig Stellen, an die ich mich in Zukunft bei ähnlichen Problemen erinnern werde und jetzt weiß wo ich nachsehen kann.
Das ist genau das, was ich mit den Videos erreichen möchte. Als ich angefangen habe zu lernen, gab es immer nur Snipsel zu einem ganz bestimmten Problem. Ich halte es aber für besser, wenn man das im Gesamten betrachtet. Im Grunde hat man ja nie ein einzelnes Problem sondern möchte einen kompletten Ablauf programmieren.
Wie immer mit nützlichen Nebeninformationen zum Hauptthema, vielen Dank
Immer wieder gerne!
Servus Wieder eine Frage. Ich experimentiere mit der Funktion "ImportDiagnosisMethod" Ich bin aber im ModelDoc2. Das IPartDoc konnte ich nicht aufrufen. Es funktioniert. Aber auch defekte Teile bekommen als Rückgabewert 1. Ich habe noch nie -1 bekommen. Mein Ziel, ich habe mehrere importiere Teile auf. Automatisiert will ich diese Teile in verschiedene Verzeichnisse verschieben und so eine Vorauswahl treffen. Aber angeblich ist alles sauber und nichts defekt. Was läuft schief? Wie ruft man IPartDoc auf?
Hallo. einfach das ModelDoc auf das PartDoc schreiben. Zum Beispiel so: Dim swModel as ModelDoc2 Dim swPart as PartDoc Set swModel = swApp.ActiveDoc Set swPart = swModel
@@SWMP Servus Habe es umgeschrieben. Am Rückgabewert hat sich nichts geändert. Jetzt wollte ich eine Prüfroutine hinterher schicken. Auf Englisch "Check Enetry". Der Makrogenerator zeichnet nichts auf. Es is doch nicht alles so einfach.
Hallo. Es wäre leichter, wenn wir uns über meinen Discord austauschen. Dort können wir uns dann auch zu einem Zoom Meeting verabreden.
Eine Frage. Was ist das für eine API Hife? Meine sieht anders aus und ich komme mit dieser nicht so richtig klar.
Das ist die offline Hilfe. Diese bekommt man, wenn man den Haken bei 'Web-Hilfe verwenden' entfernt. Nach einer neuen Installation von Solidworks wird dieser Haken gesetzt. Man muss ihn also extra wegnehmen, wenn man die offline Hilfe nutzen möchte.
Zu 22:45: "End" ist ein wichtiges Schlüsselwort. Und man kann es in dieser Situation auch benutzen. "End" setzt das Makro komplett zurück. Das ist besonders interssant wenn man mit statischen oder globalen Variablen arbeitet. Hier mal ein Code zum Test: Option Explicit Dim iAussen As Integer Sub main() Static iStatisch As Integer Dim iInnen As Integer MsgBox "Beginn Statisch innen: " & iStatisch & vbCr & "Dim innen: " & iInnen & vbCr & "Außen: " & iAussen iStatisch = iStatisch + 1 iAussen = iAussen + 1 iInnen = iInnen + 1 MsgBox "Ende Statisch innen: " & iStatisch & vbCr & "Dim innen: " & iInnen & vbCr & "Außen: " & iAussen 'End End Sub Jetzt ist das "End" abgeschaltet. Das Makro einfach mal mehrfach starten und beobachten. Dann das Hochkomma entfernen und nochmal probieren. Ich komme aus dem C/C++ Sektor. Das die Variablen erhalten bleiben war mir neu. So setzte ich mehrere statische Booleans um zu verhindern, dass ein Code nur einmal bearbeitet wird. Nur die Variablen blieben. Ein "End" an jedem geplanten Ausstieg und das Makro startet wieder jungfräulig.
Danke für den Hinweis. Das wusste ich noch nicht.
1:10 Es hat einen Grund warum das Objekt SolidWorks vor der Hauotroutine steht. Steht diese vor dem Sub Main ist diese Global, also im ganzen Projekt gültig. Jetzt ist die Variable nur im Haupt Sub gültig, von außen nicht zugreifbar. Aber die Einstellungen sind gut. Schon die automatische Synatxprüfunghat genervt. Das andere Häckchen ist wirklich Option explicit. Man muss unbedingt Variablen deklarieren. Ich habe einenFehler und den bekomme ich nicht weg. Ich kann diesen nicht mal abfangen. Laufzeitfehler 35010. Ich lade API Funktionen aus der User32.dll. Und da kann es zum Fehler kommen.
Hallo. Dieser Laufzeitfehler kann bei großen Projekten auftreten. Wenn man an dem Rechner den virtuellen Speicher erhöht, dann sollte das Problem in fast allen Fällen behoben sein. Vorgehensweiße: 1. Klicken Sie mit der rechten Maustaste auf "Arbeitsplatz" , und klicken Sie dann auf "Eigenschaften". 2. Klicken Sie im Dialogfeld "Systemeigenschaften" auf "Erweitert". 3. Klicken Sie auf "Leistungsoptionen". 4. Klicken Sie im Bereich "Virtueller Speicher " auf "Ändern ", um die Auslagerungsdatei zu vergrößern.
@@SWMP Hallo Ich habe 32 GB Arbeitsspeicher. Unter Win 7 habe ich sogar den virtuellen Speicher abgeschaltet. Unter Win 10 nicht. Das verstehe ich nicht, der Speicher war noch nie voll. Als ich noch C++ gearbeitet habe und dynamischen Speicher allokierte, konnte ich abfragen ob das funktionierte. Und genau das fehlt. Auch "on error goto" funktionioniert nicht. Das hätte schon gereicht. Wenn der Fehler auftaucht, reicht es ja SW neu zu starten. Darauf hätte eine MsgBox hingewiesen. und dann hätte ich das Makro ordentlich aufgeräumt. So ist zB im Hintergrund Excel auf. Was mich stört, der Editor geht auf und ich muss Excel im Hintergrund manuell killen. Aber ansonsten werde ich mir die Videos weiter ansehen. Die Hilfe, wie man ran kommt war schon hilfreich. Ich hatte mit dem Internet gearbeitet und mich geärgert, dass ich nichts so richtig zur API fand. Auch nicht was in den Strukturen drin ist. Auch die blöde Syntaxüberwachung hat genervt. Auch war die Abfrage der SW Version gut. Wird mir langes Suchen im Netz ersparen. Ab SW2022 wurde einiges geändert. Ein Makro von mir geht in die Dokumenteneigenschaften. Bei einem Kunden von mir gab es Ärger als die auf SW2022 umstiegen. Ich bleibe auf 2020.
Hallo, ich hätte da auch eine Frage. Ich würde gerne von einer externen Anwendung, die ich selbst geschrieben habe, etwas per Drag & Drop auf einer Zeichnung in SolidWorks einfügen. Das kann ein Text (als Note) oder ein Symbol (als SketchBlock) sein. Ich habe bislang keine Möglichkeit gefunden, wie ich das bewerkstelligen könnte. Ideal wäre es wenn der Text oder das Symbol an der Stelle in der Zeichnung eingefügt wird, wo der Benutzer das einfügen beendet. So könnte der Benutzer das Element an der von ihm gewünschten Stelle platzieren.
Hallo, das ist ein Frage welche ich nicht sofort beantworten kann. Mit einem Makro wird das wahrscheinlich nicht gelöst werden können. Und primär ist mein Kanal für die Makroprogrammierung gedacht. Ich werde dennoch dieses Problem mal recherchieren und mich dann wieder melden, wenn ich etwas heraus finde. Dafür am besten auf meinen Discord kommen. Da können wir uns dann direkt dazu austauschen.
Hey vielen Dank für die Videos! Ich hätte eine Frage zu Baugruppen: Gibt es eine Möglichkeit ein vorhandenes Teil in eine Baugruppe zu laden und dies mit einer Transformationsmatrix zu positionieren?
Ja, das kann man über das Interface MathTransform lösen. Allerdings wäre ein komplettes Beispiel zu lang für die Antwort in einem Kommentar. Dazu wird ein Video kommen. Versprochen.
@@SWMP Super vielen Dank für den Hinweis! Hat mir dabei geholfen, mein Problem zu lösen. :)
Das freut mich. Ich helfe immer gerne.
Dankeschön!
Sehr gerne
Eigentlich ist die Lösung total logisch, man muss nur drauf kommen. Und sie lässt sich schön auf andere Bereiche übertragen.
Erstaunlicherweise sind viele Dinge in Solidworks recht einfach zu lösen. Der Weg ist eigentlich immer das Ziel.
Dieses Video bring einem gleich wieder auf neue Ideen und für mich viele zusätzliche Informationen über die Arbeitsweise von SWX. Vielen Dank
Sehr gerne.
Guten Abend, ich schaue momentan ihre VBA Serie,bin aber noch nicht durch mit allen Videos. Ich würde gerne aus einer Zeichnung das Teil oder die Baugruppe öffnen lassen per VBA. Wurde das in irgendwelchem Video bereits gezeigt, Wie ich das Dokument einer Zeichnung ansprechen kann. Teil und Zeichnung haben nicht immer denselben Namen oder anders gefeagt: mit welchem Befehl lässt sich dies bewerkstelligen? Google Suche sowie API Hilfe haben nichts gebracht, da ich wahrscheinlich nach den falschen Stichworten suche.
Hallo, ja, in Teilen habe ich das in dem Video 'Zuschauerfrage : Die Erste' behandelt. Wenn Sie da noch Unterstützung brauchen, dann kommen Sie doch gerne auf meinen Discord, falls nicht schon geschehen. Dort können wir dann auch gerne direkt kommunizieren und bei Bedarf helfe ich Ihnen bei Ihrem Makro.
Ein super Nachschlagewerk. Die Methode, wie sich an die Lösung herangearbeitet wird, gehört inzwischen zu meiner Standardmethode.
Danke fürs Feedback!
Dieses Video muss einfach sein um einen Einstieg zu bekommen. Meine Erfahrung: Man kuckt sich ein paar Videos an, aber wenn man dann selber loslegt, kommt man wieder zum 1. Video um ein paar Zusammenhänge zu verstehen. Auch die Hilfe ist gut erklärt. Lässt sich auch auf andere Programme, die mit VBA arbeiten übertragen.
Vielen Dank!
Es gibt in der Werkzeugsammlung schon mal eine Reihe an Steuerelementen zum Basteln einer Form. Ich möchte gerne eine Feld für Datum einbauen und möglichst mit einer Kalender-Funktion. Es ist aber leider erstaunlich schwer zu lösen, was eigentlich eine Standard-Funktion sein sollte. Wissen Sie wie man ein Kalender in Werkzeugsammlung einbaut (sowas wie DateTimePicker)?
Mir ist zur Zeit kein Steuerelement bekannt, welches ich in der Toolsammlung aktivieren kann das diese Funktion zur Verfügung stellt.
R3vo kann ich nur zustimmen. Wieder super erklärt. Danke, mach weiter so.
Mache ich. Danke für das positive Feedback.
Super verständlich erklärt. Bin schon gespannt auf das nächste Projekt.
Vielen Dank für das positive Feedback. Als nächstes wird kein Projekt kommen, sondern wieder ein Erklärungsvideo zu einem Thema.
Sehr strukturiert und gut erklärt!
Vielen Dank!
Sehr gut erklärt. Vielen Dank! ;)
Vielen Dank für das positive Feedback.
Vielen Dank!
Sehr gerne.
gut
Freut mich.
Vielen Dank für deine Arbeit.
Sehr gerne!
Wieder ein gutes Video. Die cbx_dxf_save_unfold_Change sub hätte man etwas vereinfachen können: cbx_dxf_bendlines.enabled = cbx_dxf_save_unfold.value
Das ist richtig. Danke für den Hinweis.
Hallo Herr Hornemann, ich habe mir mit dem Makrorekorder ein Textfeld mit dem Maßstab der angeklickten Zeichnungsansicht erstellt. Der Rekorder gibt die Mausposition zurück, die man gerade angeklickt hat. Das läßt sich aber natürlich nicht wirklich sinnvoll nutzen, da man die gewählte Zeichnungsansicht ja nicht immer auf dem selben Blattformat hat und auch nicht immer an der selben Position. Ich habe nun versucht, Ihre Vorgehensweise mit der VBA - Hilfe, bzw. API - Hilfe, nachzuahmen, habe aber leider keinen Erfolg damit gehabt. Ich habe also nach Mouse und Position gesucht, etc. aber leider keine Lösung gefunden, die aufzeigt, wo sich die Maus beim klicken gerade befindet. Mit dieser Information könnte ich das Textfeld dann natürlich an die Stelle setzen lassen, auf die der Nutzer klickt. Aktuell habe ich mir so beholfen, daß ich die Position auf 0, 0, 0 gesetzt habe, so daß das Textfeld immer auf dem Blattursprung liegt. Leider muß man sich das Textfeld dann immer auf die gewünschte Position ziehen... So sieht mein aufgeräumter Code aus: Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Dim myNote As Object Dim myAnnotation As Object Dim myTextFormat As Object Set myNote = Part.InsertNote("M $PRPSMODEL:""SW-Ansichtsmaßstab(View Scale)"" $COMP:""""") If Not myNote Is Nothing Then myNote.LockPosition = True myNote.Angle = 0 boolstatus = myNote.SetBalloon(0, 0) Set myAnnotation = myNote.GetAnnotation() If Not myAnnotation Is Nothing Then longstatus = myAnnotation.SetLeader3(swLeaderStyle_e.swNO_LEADER, 0, True, False, False, False) boolstatus = myAnnotation.SetPosition(0, 0, 0) boolstatus = myAnnotation.SetTextFormat(0, True, myTextFormat) End If End If Part.ClearSelection2 True Part.WindowRedraw End Sub
Hallo Herr Grum, die Mausposition abzufragen ist in der SolidWorks API und, soweit mir das bekannt ist, auch nicht in der VBA API vorgesehen. Es gibt ein paar wenige Befehle in der SolidWorks API, bei der man nach der Auswahl den Punkt ermitteln kann, wo die Auswahl stattgefunden hat, aber direkt die Mausposition kann man damit auch nicht erfahren. Ich schlage vor, Sie schicken mir einmal eine Email an solidworks@berndhornemann.de und ich werde Ihnen dann eine Zoom Einladung zusenden, in der wir uns dann die Möglichkeiten anschauen. Einverstanden?
Super, super, mittlerweile bin ich süchtig.
Normalerweise ist süchtig sein ja etwas schlechtes, aber in diesem Fall freut es mich doch sehr. Vielen Dank für die positive Rückmeldung.
Servus Bernd, was mir besonders gut an Deinen Videos gefällt, ist, daß Du immer wieder auf die API - Hilfe und VBA - Hilfe eingehst. Damit tue ich mich momentan noch ein wenig schwer aber der Nebel lichtet sich etwas von Video zu Video. Wieder mal top und weiter gehts mit der Folge 5...., Gruß, Thomas
Ja, das war auch meine Schwierigkeit am Anfang. Mittlerweile kann ich sagen, wenn man die Struktur verstanden hat, dann geht es eigentlich ganz gut mit dem zurechtfinden in der Hilfe. Aber, und das wirst du noch sehen, ich gehe nicht in jedem Video intensiv auf die Hilfe ein. Das mache ich nur, wenn es aus meiner Sicht absolut notwendig ist.
4 Jahre im Netz und ich habe die Videoreihe erst vor einer Woche entdeckt... Super, super, super. Ein kleiner Hinweis von mir. Um zu sehen, was im Programm wann passiert, schaltet das Lokalfenster über den Menüpunkt Ansicht zu und führt das Programm anschließend schrittweise aus. Das kann man mit der F8 - Taste machen. BESTEN Dank an Dich Bernd. Wenn Du einmal in den Raum Rosenheim kommen solltest, dann melde Dich. Ich spendiere Dir eine Bergwanderung mit Einkehr!
Das meine Videos so ein Anklang finden, freut mich sehr. Vielen Dank dafür. Und dein Angebot werde ich wahrnehmen. Auch wenn eine Bergwanderung nicht so gut mit meiner Konstitution zu vereinbaren ist, auf die Einkehr freue ich mich.
@@SWMP Servus Bernd, es gibt auch schöne kurze und weniger anspruchsvolle Wanderungen mit schönem Naturerlebnis und einem guten Essen :-)
Ich bin dabei. Allerdings gibt es mich nur im Familienformat. Frau und Kinder kommen dann auch mit. Passt es diesen Sommer?
@@SWMP Natürlich, jederzeit an den Wochenenden.
Top. Vielen Dank für die Mühe. Ich freue mich schon auf den Rest. Sehr gut erklärt!!
Danke für das Lob!
Wieder ein sehr gut erklärtes Video. Hat Spaß gemacht zuzuschauen. Weiter so!
Vielen Dank. Es freut mich zu hören, dass meine Videos gut ankommen.
Danke für das Video, leider funktioniert das 2. in der Reihe derzeit nicht bei TH-cam. Ich versuche derzeit mich etwas in die SW Api einzuarbeiten um ein paar kleine, einfache Makros zu schreiben und ehrlichgesagt hab ich mich nicht mehr raus gesehen wo ich anfangen soll. Super Erklärung auch für Leute ohne große Erfahrung mit VBA (wie ich). Hoffe es kommen noch Beispiele eines "Save As" Makro da ich hier gerade hänge =) Edit: Du erklärst recht schön wie das mit Intellisense funktioniert, habe ich direkt ausgetestet und im ersten Moment funktionierte das auch ganz gut. Nach einem Neustart von SW funktioniert es jetzt jedoch nur noch teilweise ich habe "Set swModel = swApp.ActiveDoc" definiert und bisher hat er mir bei "swModel." auch Vorschläge gebracht, das funktioniert nun komischerweise nicht mehr. "swApp." funktioniert noch
Ja, SaveAs Makros sind auch schon in der Liste. Was meinst du mit funktioniert derzeit nicht? Der Code oder der Videoabruf? Edit: Das ist schwer für mich zu beurteilen. Die meisten Situationen wo die IntelliSense mal nicht geklappt hat bei mir, war mit fehlenden Dimensionierungen von Variablen zusammenstehend. Da du aber beschreibst, dass es schon mal geklappt hat, fehlt mir da jetzt der Ansatz um gut weiterhelfen zu können.
@@SWMP das Video leider, liegt wahrscheinlich an YT selbst. Der Fehler war ein fehlendes "Dim swModel As ModelDoc2". Habs dank deiner kurzen Einführung und der API Doku geschafft ein Save As makro mit Abruf von Dateieigenschaften (Revision) zu schreiben, danke soweit schon mal!
Sehr gerne. Genau dafür betreibe ich diesen Kanal.
Alternativ zu Option compare wäres es noch möglich den eingegeben nen Wert in Groß/kleinbuchstaben zu konvertieren eg. UCase(string). Mit Abstand die besten Videos zu SWX und VBA!
Vielen Dank für das Lob. Anfänglich hatte ich auch noch gedacht, ob ich die Case Möglichkeiten zeige, aber ich möchte die Videos nicht zu voll laden. Andere Lösungen werde ich nach und nach sowieso in den Videos präsentieren, da reicht eine pro Video aus, denke ich.
Super, wie bei Sendung mit der Maus. Freue mich schon die restlichen Videos zu schauen =)
Vielen Dank für dieses Lob. Das freut mich sehr.
Das Video hat mir sehr gut gefallen, vielen Dank! So langsam wird es richtig interressant :)
Das freut mich sehr!
Wieder einmal ein sehr anschauliches Video. Danke dafür. Besteht die Möglichkeit einmal zu zeigen wie man das mit einer Schleife auf einen Ordner mit Unterordner machen kann?
Das kann ich sehr gerne mal zeigen. Können sie die Bedingungen einmal skizzieren? Eine sehr offene Situation zu programmieren, läuft halt sehr oft in viele Fehlerabfragen und wenig auf die eigentliche Problemlösung.
Vielen Dank, das sieht wirklich nicht kompliziert aus. Ich hatte bei meinen macros noch den Dateinamen ergänzt mit Datum / Uhrzeit (Zeit Variable aus Windows) , weil bei erneutem Speichern die schon vorhandenen Dateien kommentarlos überschrieben wurden, und somit verloren gingen.
Danke fürs Feedback!
Vielen Dank! Sobald ich aus dem Urlaub zurück komme werde das Macro ausprobieren. Schöne Grüße aus Dänemark!
Sehr gerne und einen schönen Urlaub.
Hallo Herr Hornemann, danke für das informative Video. In Solid kann man ja Zeichnungen direkt als PDF abspeichern. Dabei öffnet sich ein Fenster zur Auswahl der Blätter. solch eine Funktionalität (Fenster in Teil bzw. BG) wäre auch interessant als Makro für verschiede Ansichten.
Hallo. Das kann man lösen, indem man eine Ansicht aktiviert und diese dann abspeichert. Dann die nächste Ansicht aktiviert usw. Ich werde diese Anregung in einem zukünftigen Video mal zeigen. Danke für das Feedback.
Danke dir! Schöne dass du wieder weiter machst!
Im Moment habe ich wieder Zeit dafür. Das werde ich nutzen und so häufig es geht ein Video fertig machen.
gut
Danke sehr.