Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro für Oberflächenbeschaffenheit und Bearbeitungsangaben

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
  
PLM TechnologieForum Bamberg
Autor Thema:  Makro für Oberflächenbeschaffenheit und Bearbeitungsangaben (4456 mal gelesen)
adialtstaetta
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 23.10.2006

erstellt am: 23. Okt. 2006 15:35    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


Beschriftung.zip

 
Hallo zusammen

Hab ein Problem mit meinem beigefühgten Makro. Ich habe keine Ahnung was falsch ist
Bin "Makroneuling" und hoffe jemand kann es mir verbessern.

Wenn ich das Makro starte hängt mein SWXSolidWorks.


------------------
es gibt nichts was nicht irgend jemand lösen kann

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

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

erstellt am: 23. Okt. 2006 16:01    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 adialtstaetta 10 Unities + Antwort hilfreich


Bearbeitung3.swp.txt

 
Du bleibst in jeder Deiner Loop-Schleifen hängen, wenn die Blöcke nicht gefunden werden.
Hab Dir Dein Makro mal so geändert, daß es nach 100 Schleifen aussteigt (mit Meldungsfenster). Am Ende erzeugt es ja Deine Blöcke oben rechts in der Zeichnung...

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

[Diese Nachricht wurde von Lutz Federbusch am 23. Okt. 2006 editiert.]

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 23. Okt. 2006 16:01    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 adialtstaetta 10 Unities + Antwort hilfreich


Beschriftung_tbd.zip

 
Hallo,

ich persönlich habe keinen großen Fehler in diesem Macro gefunden.
Ich habe nur in die Do-While Schleifen eine Abbruchbedingung eingefügt.
Denn wenn in der Zeichnung noch keine Blöcke vorhanden waren, läuft das Makro in diesen Schleifen endlos.
Ich habe auch die deklaration verbessert.
swapp as sldworks.sldworks

Ich habe einen Komentar eingefügt, wo ich etwas verändert habe.
Ich hoffe das klappt jetzt, wenn nicht nochnmal mit dem genauen Problem melden.

------------------
Mfg Daniel

Es gibt nur drei Möglichkeiten: Sieg, Unentschieden oder Niederlage
----------------------------------------------
Effektive Produktivitätswerkzeuge in der Konstruktion und Zeichnungserstellung.
Automatisiert komplette Baugruppen, Teile und Zeichnungen nach Kundenvorgaben.

SolidWorks API Programmierung; Tools und Addin's für SolidWorks
kontakt@schuler-da.de

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

adialtstaetta
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 23.10.2006

erstellt am: 23. Okt. 2006 16:04    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

werde es gleich probieren
vielen, vielen dank für die schnellen antworten

adi

------------------
es gibt nichts was nicht irgend jemand lösen kann

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

adialtstaetta
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 23.10.2006

erstellt am: 23. Okt. 2006 16:17    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

Es funktioniert super

viel dank nochmals

adi

------------------
es gibt nichts was nicht irgend jemand lösen kann

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

adialtstaetta
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 23.10.2006

erstellt am: 23. Okt. 2006 16:22    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

Hab mich zu früh gefreut
Es funktioniert bei allen Formaten ausser bei meinem A4 Querformat. Da hab ich oben noch einen Text. Die Position des Blockes sollte also tiefer sein. Wenn ich jetzt den Basispunkt bei den Blöcken ändere, ist die Angabe bei den Formaten A0, A1, A2, usw zu tief. Wie kann man das Lösen?

------------------
es gibt nichts was nicht irgend jemand lösen kann

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 23. Okt. 2006 16:33    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 adialtstaetta 10 Unities + Antwort hilfreich

Fange dieses Format doch einfach durch eine Abfrage ab.
Code:

Dim oSwSheet As SldWorks.Sheet
Dim eBlattgroesse As SwConst.swDwgPaperSizes_e
'Sheet Objekt belegen
oSwSheet = CType(oSwDrawing.GetCurrentSheet, SldWorks.Sheet)
'Blattgröße ermitteln
vBlattInfo = oSwSheet.GetProperties
dBlattInfoArray = CType(vBlattInfo, Double())
eBlattgroesse = CType(dBlattInfoArray(0), SwConst.swDwgPaperSizes_e)

if eBlattgroesse = SwConst.swDwgPaperSizes_e.swDwgPaperA4size then
  'Diese Größe anders behandeln
else
  'Die anderen Größen normal behandeln
end if


Ist zwar jetzt vb.net Code, aber ich hoffe das dir klar wird was ich meine.

------------------
Mfg Daniel

Es gibt nur drei Möglichkeiten: Sieg, Unentschieden oder Niederlage
----------------------------------------------
Effektive Produktivitätswerkzeuge in der Konstruktion und Zeichnungserstellung.
Automatisiert komplette Baugruppen, Teile und Zeichnungen nach Kundenvorgaben.

SolidWorks API Programmierung; Tools und Addin's für SolidWorks
kontakt@schuler-da.de

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

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



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

Beiträge: 3094
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2016-2022
ERP ProAlpha + CA-Link
Intel Core i7-7820K 32GB
Win10x64 Quadro K5000
SpacePilot

erstellt am: 23. Okt. 2006 16:35    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 adialtstaetta 10 Unities + Antwort hilfreich

Indem Du die Blattgröße ermittelst und dann je nach Größe unterschiedliche Positionen setzt...

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

[Diese Nachricht wurde von Lutz Federbusch am 23. Okt. 2006 editiert.]

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

adialtstaetta
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 23.10.2006

erstellt am: 12. Dez. 2006 16:05    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
Ist Zwar schon länger her aber hab noch eine Frage zu diesem Makro.
Ich arbeite auf SWXSolidWorks 2007 SP 2.0. gab es da eine Änderung der Begriffe? Das Makro funktioniert nicht mehr.

------------------
es gibt nichts was nicht irgendjemand lösen kann

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 12. Dez. 2006 17:03    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 adialtstaetta 10 Unities + Antwort hilfreich


Bild1.jpg

 
Hallo Adi,

habe das Makro, welches ich dir verbessert habe getestet.
Auf SW 2007 SP0.0 läuft es fehlerfrei.
Leider bin ich für Testzwecke vor kurzem wieder zu SP0.0 zurück und kann somit SP2.0 nicht ausprobieren.
Könntest du evtl. genau beschreiben bei welcher Codezeile etwas nicht funktioniert, bzw. was für eine Fehlermeldung erzeugt wird?

Dann kann man besser abschätzen woran es liegt!

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Es gibt neue Freeware Tools und Addins

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

adialtstaetta
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 23.10.2006

erstellt am: 12. Dez. 2006 17:13    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

Ja ich weiss. Es funtionierte auch bei 1.0 noch. lad SP 2.1 herunter viellicht funktioniert es da wieder. ansonsten schreib ich morgen die genaue Fehlermeldung.
besten dank für die schnelle Antwort und einen schönen Abend

------------------
es gibt nichts was nicht irgendjemand lösen kann

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

adialtstaetta
Mitglied
Konstrukteur

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

Beiträge: 7
Registriert: 23.10.2006

erstellt am: 12. Dez. 2006 17: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


Fehlermeldung.jpg


Zeilebeimdebuggen.jpg

 
Hallo

Die Fehlermeldungen erscheinen auch bei 2.1.
Anbei die Bilder dazu.
Hab bei solidsolutions angefragt und die gaben mir dieses Beispiel.  Ich hab das Alte gelöscht und das neue eingefügt und an meinen Namen und Pfad angepasst. leider ging danach gar nichts mer.

' Define an insertion point
nPt(0) = 0.1
nPt(1) = 0.1
nPt(2) = 0#
vPt = nPt
Set swMathPoint = swMathUtil.CreatePoint(vPt)
'
blockname1 = "C:\customer\rotorcraft\Beschriftung oben rechts.SLDBLK"
Set swSketchBlockDef = Drawing.SketchManager.MakeSketchBlockFromFile(swMathPoint, blockname1, False, 0, 0)
'
' alt
'Drawing.InsertBlock "C:\customer\rotorcraft\Beschriftung oben rechts.SLDBLK", 0, 0, 0, 1
'

------------------
es gibt nichts was nicht irgendjemand lösen kann

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 12. Dez. 2006 18:18    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 adialtstaetta 10 Unities + Antwort hilfreich

Hallo Adi,

es ist schon richtig, dass der Befehl Drawing.InsertBlock veraltet ist.
Jedoch frage ich mich nach dem Sinn dieser beiden Codezeilen.
Du möchtest doch am Anfang des Makros nur die evtl. bestehenden Blöcke löschen.
Dafür hast du aber die beiden unschönen Schleifen wenige Zeilen unterhalb.
Wenn ich das Makro bei mir laufen lasse, ist das Objekt, auf welches ich eigentlich durch diesen Befehl (Drawing.InsertBlock) einen Verweis erzeuge, sowieso Nothing.
Das liegt einfach an der Pfadangabe.
Da du die neuen Blöcke aber erst zum Schluss mit den Zeilen:

Code:

'Bearbeitungs-Block eingügen
If mKlammer Then
    Drawing.InsertBlock "Beschriftung oben rechts.SLDBLK", X0, Y0, 0, 1
    'Drawing.InsertBlock "I:\BMK\Alg\WiederholteileSoildWorks\Makros\Bearbeitung\Beschriftung oben rechts.SLDBLK", X0, Y0, 0, 1
ElseIf oKlammer Then
'Bearbeitungs-Block eingügen
    Drawing.InsertBlock "Beschriftung2 oben rechts.SLDBLK", X0, Y0, 0, 1
    'Drawing.InsertBlock "I:\BMK\Alg\WiederholteileSoildWorks\Makros\Bearbeitung\Beschriftung2 oben rechts.SLDBLK", X0, Y0, 0, 1
End If

in die Zeichnung eingefügt, sind die beiden ersten Zeilen einfach unnötig!
Ich möchte ja nicht unhöflich wirken, aber ich würde dir sehr empfehlen dieses Makro von seinen sehr unsauber programmierten Altlasten zu befreien und es neu aufzusetzen. Entweder musst du dir dafür Zeit nehmen oder du lässt es machen.
Es sind in diesem Makro ein Paar sehr merkwürdige und unnütze Zeilen vorhanden, was eine Fehlersuche sehr erschwert.

Wenn du das nicht machen möchtest kannst du das Makro mal ohne diese (meiner Meinung nach nicht benötigten) Zeilen ausprobieren und deine Pfadangaben für die Blöcke überprüfen.

------------------
Mfg Daniel

Brauchen Sie Hilfe, sind Sie in Not? Wir retten Sie mit unserem Code!
----------------------------------------------
SolidWorks API-Programmierung | Es gibt neue Freeware Tools und Addins

SolidWorks API Programmierung; Schuler Design Automation GmbH
|     kontakt@schuler-da.de

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

GrafZahl81
Mitglied
Konstrukteur


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

Beiträge: 50
Registriert: 12.09.2011

erstellt am: 17. Jan. 2012 10:23    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 adialtstaetta 10 Unities + Antwort hilfreich

ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist!
Hallo,

habe das Makro gerade getestet und findes es echt toll nur leider kommt bei mir der selbe Fehler. Klar habe ich den Pfad im Makro geändert aber
der Fehler tritt dennoch auf. Mit der Letzten Antwort auf diesem Post kann ich leider auh nicht all zu viel anfangen, schließlich bin ich nicht der Experte was Makros betrifft.

Vielleicht kann mir hierbei jemand einen Rat geben bzw. sagen wo der Fehler liegt (SW2012).

mfg Stefan

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