Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: SketchManager.CreateBoundaryHatch

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
  
FACTORY OF THE FUTURE - Von der traditionellen Fertigung zur vernetzten Fabrik
Autor Thema:  API: SketchManager.CreateBoundaryHatch (1131 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 06. Jul. 2010 11: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

Hallo Freunde,

ich habe mal wieder ein Problem:

Ich habe ein schon etwas älteres Programm, mit dem wir relativ komplexe Tabellen auf Zeichnungen erstellen.
Die Tabellen werden als Linien und Rechtecke skizziert, die Rechtecke teilweise schraffiert.

Bis einschl. SWX 2007 hat das problemlos funktioniert. Neue Tabellen sind seit längerem nicht mehr erstellt worden, darum ist nicht aufgefallen, dass es mit SWX 2009 Probleme gibt.

Alter Code für das schraffierte Rechteck, dieser wird mehrmals durchlaufen (1x pro Tabellenzeile):

Code:

Sub DrawRectangle(ByVal LX1 As Long, ByVal LY1 As Long, ByVal LX2 As Long, ByVal LY2 As Long, Dicke As Long, Typ As Long)

    Part.SketchRectangle LX1 / 1000, LY1 / 1000, 0, LX2 / 1000, LY2 / 1000, 0, True
    Part.SketchAddConstraints "sgFIXED"

    Part.SetLineWidth Dicke

    Part.SetLineStyle "HIDDEN"

    Part.InsertHatchedFace

End Sub



Das Programm bricht dann immer in der Zeile "Part.SketchRectangle..." mit einem Laufzeitfehler "Automatisierungsfehler" ab, hat zu diesem Zeitpunkt aber bereits ein schraffiertes Rechteck und ein zweites ohne Schraffur gezeichnet (Gerne schmiert dabei SWX auch ganz ab).
Wenn ich dann Debugge und im Programm weiter laufen lasse, wird nocheinmal ein Rechteck erstellt und schraffiert, aber dann schmiert SWX definitiv ab.

Nun habe ich es umgschrieben und mache das ganze unter Verwendung des SketchManager.
Neuer Code:

Code:

Sub DrawRectangle(ByVal LX1 As Long, ByVal LY1 As Long, ByVal LX2 As Long, ByVal LY2 As Long, Dicke As Long, Typ As Long)
Dim vSkLines As Variant 'Normalerweise Object, für VB6 laut Hilfe Variant
Dim myHatch As Variant  'Normalerweise Object, für VB6 laut Hilfe Variant
    vSkLines = Part.SketchManager.CreateCornerRectangle(LX1 / 1000, LY1 / 1000, 0, LX2 / 1000, LY2 / 1000, 0)
    Part.SketchAddConstraints "sgFIXED"
    Part.SetLineWidth Dicke
    Part.SetLineStyle "HIDDEN"
    Set myHatch = Part.SketchManager.CreateBoundaryHatch(0, 1, 16711680, "ISO (Stahl)", "Vorlage")
End Sub

Der Erfolg ist genau der selbe, er bricht in der Zeile "vSkLines = Part.SketchManager.CreateCornerRectangle..." mit demselben Automatisierungsfehler ab. Beim Debuggen komme ich dann noch eine Runde weiter, bevor SWX abschmiert.

Ich habe keine Idee mehr, warum das Ding hier stecken bleibt.

Hat vielleicht jemand von euch einen Tipp?

------------------
Klaus

[Edit]
Ups..der Titel ist falsch, sollte natürlich heißen "API: SketchManager.CreateCornerRectangle". Aber ursprünglich bin ich bei der 2. Variante beim Hatch hängen geblieben...aber nur weil ich myHatch fälschlicherweise als Object deklariert hatte.
[/Edit]
www.al-ko.com | mein Gästebuch | privat... | Nasenheim    

[Diese Nachricht wurde von KMassler am 06. Jul. 2010 editiert.]

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 12. Jul. 2010 13:08    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

Zusatzinfo:
Wenn ich den Hatch-Befehl rausnehme, dann läufts durch.
Hat vielleicht Jetzt jemand ne Idee?

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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

marques_CH
Mitglied
Prozessdesign/PLM


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

Beiträge: 698
Registriert: 21.11.2005

Solidworks 2012 SP3
Flow Sim
Workstation:
6x 4.7 Ghz
Quadro 4000
Revodrive 3 X2 SSD

erstellt am: 12. Jul. 2010 18:15    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 KMassler 10 Unities + Antwort hilfreich

Hallo

Ohne dass ich mich jetzt damit auskenne... aber mal folgender Gedankengang. Ist es möglich dass dieser Automatisierungsfehler dadurch entsteht dass du dir ne Endlosschleife gebaut hast?

Gruss Marques

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

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



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

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 13. Jul. 2010 10:11    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 Marques,

daran kanns nicht liegen.
1. ist das Programm bis einschl. SWX 2007 problemlos gelaufen
2. wenn die Zeile mit dem Schraffurbefehl "Set myHatch = Part.SketchManager.CreateBoundaryHatch..." auskommentiere läufts durch.
Ich hab eher das Gefühl, dass hier irgendwas sozusagen "voll" läuft.

Dieser schraffierte Bereich ist nur eine dicke Trennung zwischen den Tabellenzeilen. Ich werde das jetzt so umstellen, dass statt der Schraffur eben dicke Trennlinien gezeichnet werden, eventuell dann eben mehrere.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

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