Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Zugriff auf Bohrungstabelle - VBA

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
SOLIDWORKS Webinar-Serie 2020 / 21: Aufzeichnungen zum Nachhören
Autor Thema:  Zugriff auf Bohrungstabelle - VBA (1930 mal gelesen)
Abele
Mitglied



Sehen Sie sich das Profil von Abele an!   Senden Sie eine Private Message an Abele  Schreiben Sie einen Gästebucheintrag für Abele

Beiträge: 71
Registriert: 09.06.2004

SWX2007 / SP1

erstellt am: 27. Jun. 2007 11:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich würde gerne mittels vba auf den Inhalt einer Bohrungstabelle(Koordinatentabelle) zugreifen und diesen verändern.

Geht das, wenn ja, hätte mir vielleicht jemand einen Beispielcode hierfür.

Viele Grüße
Ralph

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 27. Jun. 2007 12:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Abele 10 Unities + Antwort hilfreich

Hallo Ralph,

schau mal auf meiner MakroMania Seite, da hab ich ein Makro (die Nummer 33), dass eine SolidWorks Tabelle angeht und die Zeilenhöhe auf den kleinstmöglichen Betrag bringt. Kannst du schon mal als Beispiel nehmen, wie du an eine Tabelle und die Zeilen kommst.

Wenn du an die Bohrtabelle ran willst um da etwas drin zu ändern geht das nur mit den frei editiertbaren Felder, also nicht mit den Bohrungsnummern, Koordinaten oder Bohrungsabmessung, die werden ja vom System ausgelesen und sind schreibgeschützt. Ich hab hier für unsere Leute in Excel einen Editor geschrieben, mit dem Sie schnell und einfach große Bohrtabellen z.B. um die Toleranzen oder Bemerkungen tec. ergänzen können. Letztlich lese ich damit einfach die gesamte Tabelle aus, dann kann in Excel munter mit den ganzen Komfortfunktionen gearbeitet werden und schreib anschließend alles wieder zurück.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Member of CAD.de BOINC Team  -  | Seti@Home | CPDN | Einstein@Home

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Abele
Mitglied



Sehen Sie sich das Profil von Abele an!   Senden Sie eine Private Message an Abele  Schreiben Sie einen Gästebucheintrag für Abele

Beiträge: 71
Registriert: 09.06.2004

SWX2007 / SP1

erstellt am: 27. Jun. 2007 12:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das klingt ja schon mal recht interessant.
Ich schau mir das mal an.
Ich möchte eigentlich an die Zelle, die die Bohrtiefe und den Durchmesser angibt um dort etwas umzuformatieren, damit in dieser Zelle dann eben der Bohr-Ø / Bohrtiefe und das Wort tief erscheint anstatt der Symbole die SolidWorks dafür einsetzt.

Danke mal vorab

(Das Tool mit der Editierbaren Excel-Tabelle ist wohl nicht als Beispielcode zu haben oder?)

[Diese Nachricht wurde von Abele am 27. Jun. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 27. Jun. 2007 13:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Abele 10 Unities + Antwort hilfreich

Hallo Ralph,

da wird ein recht schwieriges Unterfangen und wesentlich komplexer, als es aussieht. Die Bohrungsbeschreibung, die SolidWorks in die (so weit ich weiß sowieso schreibgeschützten) Zellen setzt, stehen nicht einfach so als Text in der Zelle sondern werden aus dem Feature im Modell geholt und müssten also dort umformatiert werden.

Wenn das generell anders dargestellt werden soll wäre es sicherlich einfacher die Bohrungsbeschreibungsdatei der SolidWorksinstallation anzupassen; hab ich zwar noch nie selbst gemacht, aber theoretisch müsste es gehen, wenn du die Datei [sw-inst]\lang\german\calloutformat.txt (oder entsprechende Sprache) änderst. Vielleicht kann dir jemand anderes was dazu sagen, der da schon mal was mit rumgespielt hat  

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Member of CAD.de BOINC Team  -   | Seti@Home | CPDN | Einstein@Home

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas5
Mitglied
Konstrukteur, SWX-Admin


Sehen Sie sich das Profil von Thomas5 an!   Senden Sie eine Private Message an Thomas5  Schreiben Sie einen Gästebucheintrag für Thomas5

Beiträge: 420
Registriert: 14.07.2003

SWX2013

erstellt am: 27. Jun. 2007 16:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Abele 10 Unities + Antwort hilfreich

Hallo Stefan,
klickt man auf des Feld für die Bohrungsabmessungen, dann geht links im Eigenschaftsmanager der für die Bemaßung auf, und man kann die Bemaßung editieren.
ist halt nur recht mühsam.
Das herumbiegen der Bohrungsbeschreibungen klappt schon. Nur SWXSolidWorks verwendet da auch Texte (Z.B. das ellenlange Wort "Durchbohren"), die nicht in der Calloutformat.txt oder der Trans.xml stehen.
Da wäre schon eine maschinelle Editiermöglichkeit der Tabelle angebracht.
Viele Grüße!
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

grisu486
Mitglied
Senior Technical Consultant MCAD


Sehen Sie sich das Profil von grisu486 an!   Senden Sie eine Private Message an grisu486  Schreiben Sie einen Gästebucheintrag für grisu486

Beiträge: 575
Registriert: 14.11.2005

erstellt am: 27. Jun. 2007 19:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Abele 10 Unities + Antwort hilfreich

Also wir haben für unsere Logopress-Bohrpläne auf der Basis des "Makro33" etwas geschrieben, das die Bohrungsbeschreibungen ausliest, die ausgelesenen Texte mit gewissen Ersetzungen behandelt und in eine weitere Spalte zurückschreibt. Die Texte der ursprüngliche Bohrungsbeschreibungsspalte werde sehr klein formatiert, so das sie fast nicht mehr zu sehen sind. Diese Spalte wird dann auch noch auf ein Minimum verschmälert. Eine entsprechend angepasste Vorlagendatei ist dabei natürlich Voraussetzung.

*uwe*

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Abele
Mitglied



Sehen Sie sich das Profil von Abele an!   Senden Sie eine Private Message an Abele  Schreiben Sie einen Gästebucheintrag für Abele

Beiträge: 71
Registriert: 09.06.2004

SWX2007 / SP1

erstellt am: 28. Jun. 2007 08:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Mir würde schon ein kleines Beispielmakro helfen, welches in einer Tabelle einen Eintrag ändert.
Ich habe schon einige Makros für AutoCAD geschrieben, aber bei SolidWorks komm ich einfach nicht zurecht, da keine VBA-Hilfe vorhanden.

Hätte mir vielleicht jemand ein solches Beispielmakro und gibts vielleicht irgendwo ein Tutorial?
Ich weiß nicht wo ich die passenden Befehle herbekommen soll.

Danke für Eure Antworten

Gruß Ralph

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 28. Jun. 2007 08:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Abele 10 Unities + Antwort hilfreich

Hallo Ralph,

hier noch mal als offener Beitrag einen Auszug aus der PM, die ich auf ähnliche Frage gestern an dich geschickt hab; wenn du eingeloggt bist müsstest du eigentlich so eine Icon mit "Neuer Nachricht" drauf sehen können (siehe auf der Hilfeseite zu PM ). Aber so können das ggf. auch andere noch lesen und haben was davon    

Programmierung mit VBA für SolidWorks ist verhältnismäßig einfach, wenn du dich mit VB/VBA auskennst. Die Dokumentation von SolidWorks ist auch sehr gut, allerdings komplett in Englisch. Direkt von SolidWorks aus kommst du zur API Hilfe, in der alle Objekte, Methoden und Eigenschaften aufgelistet sind, mit vielen Beispielmakros. Du kannst die über das Hilfemenu von SolidWorks aufrufen. Auf der Webseite http://www.solidworks.com/pages/services/APISupport.html  findest du dann jede Menge ergänzende Infos, Beispielprojekte, FAQs usw.

Als Startpunkt für deutsche Infos schaust du am besten bei mir auf der Seite vorbei, von http://solidworks.cad.de/apitut.htm  aus gehen weitere Links und auch ein Tutorial download weiter. Dann schaust du dir am Besten frei verfügbare Makros/Programme wie z.B. in der MakroMania http://solidworks.cad.de/mm_index.htm und der Makrotauschbörse auf http://solidworks.cad.de/mm_boerse.htm 

Das Excelmakro kann ich dir leider nicht geben, da ich es speziell hier für die Firma, wo ich arbeite, gemacht habe, aber ich schau mal, ob ich eine abgespeckte/umgeschriebene Version in die MakroMania packen kann.

Das mit dem Umschreiben geht aber leider nicht in ein paar Stunden, aber ich hab dir als Ausgangspunkt mal eine Routine angehangen, die z.B. das schreiben der Zellen demonstriert; ist so natürlich nicht zu gebrauchen, da die ganzen Deklarationen und der Bezug fehlt, aber ich denke, damit solltest du schon zurecht kommen:

Code:
    If SelectionMgr.GetSelectedObjectCount >= 1 Then
        ' wenn es eine Tabelle ist
        If SelectionMgr.GetSelectedObjectType(1) = swSelANNOTATIONTABLES Then
            ' dann die Tabelle holen, das ist die komplette Tabelle, auch wenn
            ' diese gesplittet wurde, was die Sache natürlich deutlich vereinfacht
            Set Kotab = SelectionMgr.GetSelectedObject5(1)
           
            cols = Kotab.ColumnCount
            rows = Kotab.RowCount
            headercount = Kotab.GetHeaderCount
           
            ' Die Header werden nicht zurückgeschrieben
            For row = headercount To rows - 1      ' alle Zeilen
                For col = 0 To cols - 1   ' alle Spalten
                    'If Kotab.IsCellTextEditable(row, col) Then
                        Kotab.Text(row, col) = Range(TabelleLO).Offset(row, col).Value
                    'End If
               
                Next col
                ' set row height to 1 mm, so smallest value is automatically used
                Range(TabelleLO).Offset(row, col).Value = Kotab.SetRowHeight(row, myRowHeight, swTableRowColChange_TableSizeCanChange)
            Next row
            ' do a rebuild to show the changes
            DrawingDoc.EditRebuild
               
        Else
            MsgBox "Bitte Bohrungstabelle (einzelne Zelle) selektieren", vbOKOnly + vbExclamation, "Information"
        End If
       
    Else
        MsgBox "Bitte Bohrungstabelle selektieren", vbOKOnly + vbExclamation, "Information"
    End If

Ciao,
Stefan


------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

Member of CAD.de BOINC Team  -   | Seti@Home | CPDN | Einstein@Home

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz