Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Allgemein
  Automatische Zeichnung per Makro

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
Autor Thema:  Automatische Zeichnung per Makro (6488 mal gelesen)
Esterbauer
Mitglied



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

Beiträge: 62
Registriert: 26.09.2008

erstellt am: 10. Okt. 2012 09:49    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


makro.JPG


makro.txt


Bild.jpg

 
Hallo,

Ich habe folgende Aufgabenstellung.

Ich habe ein Part offen, mit einem Hauptkörper und einem selber erstelltes Achsensystem ( Bennennung = ELE ).
Per Makro soll er mir jetzt eine Zeichnungsvorlage öffnen, vom aktuell geöffnetem Part ausgerichtet auf das Achsensystem ELE in XY eine Draufsicht und eine Seitenansicht erstellen.
Die Ansichten sollen aber immer auf das Achsensystem ELE ausgerichtet sein egal wie diese zum Uhrachsensystem liegt.
Diese Makro sollte dann bei jeder beliebigen Datei funktionieren das aktuell geöffnet ist.

Anbei ist eine Makroaufzeichnung diese Verweist aber noch auf den Dateinamen, und auch noch nicht auf das Achsensystem ELE .

Kann mir da wer weiterhelfen ?

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 10. Okt. 2012 09:56    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 Esterbauer 10 Unities + Antwort hilfreich

Servus
Bitte Systeminfo ausfüllen.
Statt dieser beiden Zeilen könntest du am Anfang definieren (vor dem öffnen der Zeichungsvorlage):
Code:
Set PartDocument1 = CATIA.ActiveDocument
Set product1 = PartDocument1.Product

Allerdings wir im Moment auch nicht auf das Achsensystem zugegriffen. Sondern die Ansicht über Koordinaten erstellt.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Esterbauer
Mitglied



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

Beiträge: 62
Registriert: 26.09.2008

erstellt am: 10. Okt. 2012 11:27    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,

Danke vorers,

zur info ich habe keine Plan in VB Programmierung.
Habe die Zeile wie beschrieben reinkopiert, beim ausführen bleibt er aber im bei Set product1 = PartDocument1.Product stehen.

?

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 10. Okt. 2012 23: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 Nur für Esterbauer 10 Unities + Antwort hilfreich

Hallo Esterbauer,

versuchen wir doch mal, die "Fehler" im Code zu beseitigen:

1.) Du solltest die Zeilen nicht "reinkopieren" sondern verschieben! (Voraussetzung: "100_formeinsatz_as.CATPart" ist aktiv!)
2.) Die Zeile "Set product1 = PartDocument1.Product" kannst Du Dir sparen.
3.) Die folgende Zeile solltest Du ändern:

Code:
drawingViewGenerativeBehavior1.Document = product1 partDocument1


Dein Code sollte also dann (, von "Überflüssigem" bereinigt,) so aussehen:

Code:
Language="VBSCRIPT"

Sub CATMain()
Set partDocument1 = CATIA.ActiveDocument
Set documents1 = CATIA.Documents
Set drawingDocument1 = documents1.Open("M:\EKB8\EKB_8_ALL\Catia V5-Settings\Standards - Elektroden\CAD\Doku\Zeichnung\Startfile_Elektrode.CATDrawing")
Set drawingSheets1 = drawingDocument1.Sheets
Set drawingSheet1 = drawingSheets1.Item("Bauteil")
Set drawingViews1 = drawingSheet1.Views
Set drawingView1 = drawingViews1.Add("AutomaticNaming")
Set drawingViewGenerativeLinks1 = drawingView1.GenerativeLinks
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
drawingViewGenerativeBehavior1.Document = partDocument1
drawingViewGenerativeBehavior1.DefineFrontView 0.000000, -1.000000, 0.000000, -1.000000, 0.000000, 0.000000
drawingView1.x = 594.500000
drawingView1.y = 420.500000
drawingView1.Scale = 1.000000
Set drawingViewGenerativeBehavior1 = drawingView1.GenerativeBehavior
drawingViewGenerativeBehavior1.Update
drawingView1.Activate
Set drawingView2 = drawingViews1.Add("AutomaticNaming")
Set drawingViewGenerativeBehavior2 = drawingView2.GenerativeBehavior
drawingViewGenerativeBehavior2.DefineProjectionView drawingViewGenerativeBehavior1, catBottomView
Set drawingViewGenerativeLinks2 = drawingView2.GenerativeLinks
Set drawingViewGenerativeLinks1 = drawingView1.GenerativeLinks
drawingViewGenerativeLinks1.CopyLinksTo drawingViewGenerativeLinks2
drawingView2.x = 594.500000
drawingView2.y = 698.453125
Dim double1
double1 = drawingView1.Scale
drawingView2.Scale = 1.000000
Set drawingViewGenerativeBehavior2 = drawingView2.GenerativeBehavior
drawingViewGenerativeBehavior2.Update
drawingView2.ReferenceView = drawingView1
drawingView2.AlignedWithReferenceView
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set specsViewer1 = specsAndGeomWindow1.ActiveViewer
specsViewer1.Reframe
End Sub


Den Code als solchen habe ich allerdings nicht getestet!


mfg,
Lusilnie

------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

InFlames
Mitglied
techn. Productdesigner


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

Beiträge: 72
Registriert: 22.09.2014

Windows 7 Professional
Catia V5R26

erstellt am: 13. Feb. 2015 11:02    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 Esterbauer 10 Unities + Antwort hilfreich

Also ich habe ein ähnliches Script geschrieben. Es erstellt von einem geöffnetem Product eine Ableitung mit 6 Ansichten für die 2D-Abteilung.

Problem ist nur das immer automatisch die X-Y-Achse gewählt wird.
Gibt es eine Möglichkeit eine Fläche + eine Kante/Achse auszuwählen für
>>> Fläche = Ebene der FrontView + Kante/Achse = X-Achse in der Zeichnung
(Damit mit der richtigen Seite gestartet wird und die Baugruppe richtig ausgerichtet ist)

Weiß da jemand was?

[Diese Nachricht wurde von InFlames am 13. Feb. 2015 editiert.]

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 13. Feb. 2015 19: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 Nur für Esterbauer 10 Unities + Antwort hilfreich

Servus
Das sollt gehen.
Du musst "nur" per Selektion einer Ebene selektieren lassen und daraus die Vektoren für die Methode "DefineFrontView" ermitteln (siehe hier ein Beispiel)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

InFlames
Mitglied
techn. Productdesigner


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

Beiträge: 72
Registriert: 22.09.2014

erstellt am: 16. Feb. 2015 07:55    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 Esterbauer 10 Unities + Antwort hilfreich

Wie verarbeite ich das dann weiter?

'Ansichtsebene auswählen + Ausrichtung

  Dim aVector1(2)
  Dim aVector2(2)
  Dim aVector(5)


  Set oSel = oDoc.Selection
  oSel.Clear

      ReDim aFilter(0)
      RedCode = MsgBox("Wählen Sie die Draufsicht der Bauguppe aus.", 64 + vbYesCancel, "Draufsicht")
      aFilter(0) = "PlanarFace"

          sUserSel = oSel.SelectElement2(aFilter, "Select planar face", False)
         
    If sUserSel = "Normal" Then

          Set oPlanarFace = oSel.Item(1).Value
          oPlanarFace.GetFirstAxis aVector1
          oPlanarFace.GetSecondAxis aVector2

            aVector(0) = aVector1(0)
            aVector(1) = aVector1(1)
            aVector(2) = aVector1(2)
            aVector(3) = aVector2(0)
            aVector(4) = aVector2(1)
            aVector(5) = aVector2(2)

        fctPlanarFaceVector= aVector
    End If

'Neue Zeichnung öffnen
  Set oDocs = CATIA.Documents
  Set oDraw = oDocs.Add("Drawing")
  oDraw.Standard = catISO
  Set drawSheets = oDraw.Sheets
  Set drawSheet = drawSheets.Item("Sheet.1")

  drawSheet.PaperSize = catPaperA0
  drawSheet.Scale = 1.000000
  drawSheet.Orientation = catPaperLandscape

'Erste Ansicht erstellen
  Set drawViews = drawSheet.Views
  Set drawView1 = drawViews.Add("AutomaticNaming")
      drawView1.x = 500.000000
      drawView1.y = 400.000000
      drawView1.Scale = 1.000000

  Set drawViewGenerativeLinks1 = drawView1.GenerativeLinks
  Set drawViewGenerativeBehavior1 = drawView1.GenerativeBehavior

      DocName = oDoc.Name
      Set oProduct = oDocs.Item(DocName)
      Set prodDoc = oProduct.product

        drawViewGenerativeBehavior1.Document = prodDoc
        drawViewGenerativeBehavior1.DefineFrontView  1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000 Hier wird die FrontView definiert also muss ich hier dann irgendwas mit dem aVectort machen oder?!

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11849
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 16. Feb. 2015 08: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 Esterbauer 10 Unities + Antwort hilfreich

Servus
Zitat:
...Hier wird die FrontView definiert also muss ich hier dann irgendwas mit dem aVectort machen oder?!

Ja, versuch es mal so:
Code:
drawViewGenerativeBehavior1.DefineFrontView  aVector(0),  aVector(1), aVector(2), aVector(3), aVector(4), aVector(6)
Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

InFlames
Mitglied
techn. Productdesigner


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

Beiträge: 72
Registriert: 22.09.2014

erstellt am: 16. Feb. 2015 10: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 Esterbauer 10 Unities + Antwort hilfreich

Cool Danke. Aber da muss ich noch ein wenig experimentieren weil die
View trotzdem recht willkürlich ausgerichtet wird...

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

roccat
Mitglied
Konstrukteur


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

Beiträge: 172
Registriert: 19.02.2010

WinXP/Win7
Office XP/2007
Catia V5 R16-R19, VB6.0, VBA, BASCOM-AVR
VB .Net 2010

erstellt am: 24. Jul. 2018 13:59    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 Esterbauer 10 Unities + Antwort hilfreich

Hallo,

ich hätte eine Zusatzfrage zu dem alten Thema.

Ich erzeuge die Frontview aus den Vektoren einer Plane.
Die erzeugte Frontview scheint aber unabhängig von der Ausrichtung (Flächennormale) zu sein.

Meine Frage wäre: Kann man die Frontview-Ansicht(Draufsicht oder Unteransicht) abhängig von der Ausrichtung der Plane erzeugen?.

Vielen Dank.

mfG
Mario

------------------
Wenn das die Lösung sein soll,
will ich mein Problem zurück !!

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)2023 CAD.de | Impressum | Datenschutz