Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Linie auf Blatthintergrund erstellen

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:  Linie auf Blatthintergrund erstellen (3607 mal gelesen)
hawu
Mitglied
Auszubildender


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

Beiträge: 53
Registriert: 09.09.2007

erstellt am: 14. Nov. 2008 11:07    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,

ich versuche mit einem Catscript eine Linie auf dem Blatthintergrund im Drawing zu erstellen.

Hierzu habe ich eine Linie erstellt und diesen Vorgang als Makro aufgezeichnet.

Leider war das aufgezeichnete Skript leer. 

Wie kann man via script eine Linie auf dem Blatthintergrund erzeugen? 

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

ogard1
Mitglied
Verfahrenstechniker


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

Beiträge: 442
Registriert: 12.09.2004

R19 SP2

erstellt am: 14. Nov. 2008 11:57    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 hawu 10 Unities + Antwort hilfreich

Hallo,

hier Code zum erstellen eine Linie auf Koordinate Null,

Language="VBSCRIPT"

Sub CATMain()

Set Documents = CATIA.Documents

Set Document = CATIA.ActiveDocument


Set DrawingSheets = Document.Sheets
Set DrawingSheet = DrawingSheets.Item("Sheet.1")


Set DrawingViews = DrawingSheet.Views
Set DrawingView = DrawingViews.ActiveView
Set Factory2D = DrawingView.Factory2D
Set Selection = Document.Selection


'Erstellen horizontale linie auf der Null Koordinate'

Set LineLeftExtremity = Factory2D.CreatePoint(-100.0, 0.0)
Set LineRightExtremity = Factory2D.CreatePoint(100.0, 0.0)
Set Line2D = Factory2D.CreateLine(-100.0, 0.0, 100.0, 0.0)
Line2D.StartPoint = LineLeftExtremity
Line2D.EndPoint = LineRightExtremity


End Sub

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 14. Nov. 2008 20: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 hawu 10 Unities + Antwort hilfreich

Hallo,

folgendes ist zwar in VBA, müsste aber in CATScript auch gehen:

Code:
Sub CATMain()


    Dim oDoc As Document
    Set oDoc = CATIA.ActiveDocument

    If LCase(TypeName(oDoc)) = "drawingdocument" Then
        Dim oDrawingSheets As DrawingSheets
        Set oDrawingSheets = oDoc.Sheets
        Dim oSheet As DrawingSheet
        Set oSheet = oDrawingSheets.ActiveSheet

        Dim oViews As DrawingViews
        Set oViews = oSheet.Views

    'Hintegrund = Views.item(2)
    'so läuft es aber komischerweise nicht ???
        Dim oBgView As DrawingView
        Set oBgView = oViews.Item(1)

        MsgBox oBgView.Name

        Dim oFac2d As Factory2D
        Set oFac2d = oBgView.Factory2D

    'Erstellen horizontale linie auf der Null Koordinate'
        Dim LineLeftExtremity As Point2D
        Dim LineRightExtremity As Point2D
        Dim oLine2D As Line2D
        Set LineLeftExtremity = oFac2d.CreatePoint(-100#, 0#)
        Set LineRightExtremity = oFac2d.CreatePoint(100#, 0#)
        Set oLine2D = oFac2d.CreateLine(-100#, 0#, 100#, 0#)
        oLine2D.StartPoint = LineLeftExtremity
        oLine2D.EndPoint = LineRightExtremity


    End If

End Sub


Komischerweise kann man aber nichts somit in den Hintergrund zeichnen.
Es wäre auf jeder Blatt die Ansicht 2, da lässt CATIA aber nichts zeichnen.
Weiß da jemand besser?

Gruß,
Zoltán

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

K.Siebert
Mitglied
Tech Zeichner


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 14. Nov. 2008 21:10    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 hawu 10 Unities + Antwort hilfreich

Hallo zusammen,
Ist nicht getestet und aus einem anderem Skript Kopiert

Code:
'__________________In den Hintergrund wecheln_________________________________

Set oDraw = CATIA.ActiveDocument                                                                            ' Zeichnung als aktives Dokument bestimmen
Set oSheets = oDraw.Sheets
Set oSheet = oSheets.ActiveSheet
oSheet.Activate

Set oViews = oSheet.Views
oSheet.Views.Item(2).Activate                ' BLATT001 aktivieren
Set oView = oViews.Item(2)
oView.Activate

'__________________________________________________________________________


Und wider zurück

Code:
'__________________In den Vordergrund wecheln_________________________________

Dim ErrorFrame As Integer

Set oDraw = CATIA.ActiveDocument
Set oSheets = oDraw.Sheets
Set oSheet = oSheets.ActiveSheet
oSheet.Activate

Set oViews = oSheet.Views
oSheet.Views.Item(1).Activate                        ' BLATT001 aktivieren
Set oView = oViews.Item(1)
oView.Activate


------------------
Sei Schlau bleib Dumm !!?!! 

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

Kai Knospe
Mitglied
Problemlöser


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

Beiträge: 27
Registriert: 27.01.2006

R18SP2 // XP SP2 auf HP xw4600<P>R16SP3 // HP-UX auf HP c8000

erstellt am: 14. Nov. 2008 22:24    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 hawu 10 Unities + Antwort hilfreich

Moin,

wenn ich das so recht überblicke suchst Du in etwa sowas:

Code:
Sub CATMain()
Set oDrawingDocument = CATIA.Documents.Add("Drawing")

Set oSheet = oDrawingDocument.Sheets.Item(1)
For iCount = 1 To oSheet.Views.Count
If oSheet.Views.Item(iCount).ViewType = catViewBackground Then
iMainView = iCount
End If
Next
Set oView = oSheet.Views.Item(iMainView)
oView.Activate
Set oFactory2D = oView.Factory2D
Set oCircle = oFactory2D.CreateClosedCircle(50, 50, 50)
End Sub


Dabei gehen die meisten Zeilen drauf, die MainView aus der Enumeration zu holen und nicht irgendwie...(das klappt manchmal auch ;-) )

Gruss,

Kai

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

hawu
Mitglied
Auszubildender


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

Beiträge: 53
Registriert: 09.09.2007

erstellt am: 17. Nov. 2008 08: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 ogard,

vielen Dank für die Antwort.

Set LineLeftExtremity = Factory2D.CreatePoint(-100.0, 0.0)
Set LineRightExtremity = Factory2D.CreatePoint(100.0, 0.0)

Warum muss man hier die Punket definieren, ich habe sie weggelassen
und nur die linie gezeichnet und es hat funktioniert.
Hat es vorteile, wenn man die Punkte zuvor definiert?

gruß hawu

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

ogard1
Mitglied
Verfahrenstechniker


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

Beiträge: 442
Registriert: 12.09.2004

R19 SP2

erstellt am: 17. Nov. 2008 09: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 hawu 10 Unities + Antwort hilfreich

Hallo,

das hängt davon ab was mann machen möchte, zb. wenn du 2 Linien erstellen möchtest, eine Horizontal andere 90Grad Vertikal am ende der erste, dann ist es einfacher aus meiner Sicht sich auf den Punkt zu beziehen.

Gruß

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

Speedway04
Mitglied
Konstrukteur


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

Beiträge: 30
Registriert: 16.07.2007

erstellt am: 20. Mrz. 2009 00: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 hawu 10 Unities + Antwort hilfreich

Hallo an alle Programmierer,

ich habe sehr glücklich diesen Beitrag gefunden, wie man mit einem vba - Makro, im Drawing in den Blatthintergrund kommt.
Jetzt habe ich aber die Frage, ob das ganze vielleicht release abhängig ist? Denn auf der 19 gehts und bei der 16 krieg ich es nicht zum laufen, bzw. läuft schon aber er geht nicht in den Blatthintergrund. Da ich Neuling in der VBA - Welt bin und lernen möchte würde ich mich über eine kurze Antwort freuen. Den Code kriege ich schon irgendwie raus, würde daher nur gerne Wissen, ob das Makro überhaupt unter der 16 lauffähig wäre und wenn nicht kann ich es ändern? Möchte wie gesagt nicht die Lösung haben, sondern nur nen Tipp warum es nicht geht. Also einen kleinen denkanstoß.


------------------
mfg
Udo

[Diese Nachricht wurde von Speedway04 am 20. Mrz. 2009 editiert.]

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

hawu
Mitglied
Auszubildender


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

Beiträge: 53
Registriert: 09.09.2007

erstellt am: 20. Mrz. 2009 09:19    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 Speedway,

ich habe das ein aehnliches Problem. Makros die ich mit VBS auf R16
erstellt habe, krieg auf R18 nicht oder nur teilweise zum laufen.

Ich kann Dir leider keine Antwort geben, zumal ich grae im Urlaub bin.
Wuerde aber empfehlen einen eigenen Post speziell zum Thema Realese
zu eroeffnen. um mehr Resonanz zu bekommen.

Achtung!

Der Code von Kai Knospe ist in VisualBasicScript und nicht in VBA geschrieben. Das wird aber nicht der Grund fuer Dein Problem sein.

Viele Gruesse HaWu

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

Stoffel
Mitglied
Student


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

Beiträge: 322
Registriert: 09.10.2002

R6/V2010

erstellt am: 20. Mrz. 2009 14:42    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 hawu 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Speedway04:
vielleicht release abhängig ist? Denn auf der 19 gehts und bei der 16 krieg ich es nicht zum laufen

vielleicht schon. In der Doku steht genau drin, was sich in den verschiedenen Releases geändert hat. Und wenn du eine dieser geänderten Funktionen nutzt wirds halt knallen.
Ansonsten: Einfach mal den Fehler posten, dann kann man dir evtl. auch helfen....

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

Speedway04
Mitglied
Konstrukteur


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

Beiträge: 30
Registriert: 16.07.2007

erstellt am: 20. Mrz. 2009 15:40    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 hawu 10 Unities + Antwort hilfreich

Der Code ist genau der gleiche wie bei Kai Knospe.
Wenn ich das ganze im Watch fenster verfolge steht auch in den einzelen elementen genau das was ich brauche. das Problem ist nur das er am ende nicht in den Blatthintergrund schaltet. Das passiert bei der R16. Bei der R19 bringt der gleiche Code das gewünschte ergebniss. Verstehe halt nicht warum er bei der R16 die variabeln und alles richtig findet nur den letzten schritt, das umschalten in den Blatthintergrund, nicht macht.


------------------
mfg
Udo

[Diese Nachricht wurde von Speedway04 am 20. Mrz. 2009 editiert.]

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: 23. Mrz. 2009 21:53    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 hawu 10 Unities + Antwort hilfreich

Hallo Speedway04,

ich würde mich "Stoffel" anschließen und behaupten, das es das ".ViewType" aus "oSheet.Views.Item(iCount).ViewType" in R16 noch nicht gab!

Aber aus meiner Sicht und Erfahrung brauchst Du auch nicht die "aufwendige" Suche nach der Background-View! Bis jetzt (R17?) war die Background-View immer "oSheet.Views.Item(2)" und die Main-View immer "oSheet.Views.Item(1)". Versuch doch mal, das Script so umzustellen, das Du gleich in "oSheet.Views.Item(2)" die Linie erstellst!

Der Code von "Kai Knospe" sollte dann so lauten:

Code:
Sub CATMain()
    Set oDrawingDocument = CATIA.Documents.Add("Drawing")

    Set oSheet = oDrawingDocument.Sheets.Item(1)
    Set oView = oSheet.Views.Item(2)
    oView.Activate
    Set oFactory2D = oView.Factory2D
    Set oCircle = oFactory2D.CreateClosedCircle(50, 50, 50)
End Sub


Ist 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

Speedway04
Mitglied
Konstrukteur


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

Beiträge: 30
Registriert: 16.07.2007

erstellt am: 24. Mrz. 2009 18:44    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 hawu 10 Unities + Antwort hilfreich

hi an euch alle,

erstmal danke für die tips und ratschläge. Das Problem das der code auf der r16 bei mir nicht läuft und auf der r19 schon hat sich erledigt. Habe es an einem anderen rechner laufen lassen können und da läuft es fehlerfrei auf der r16.
danke für die info das die schleife nicht benötigt wird. das war ein punkt den ich nicht ganz verstanden habe warum das mit schleife gemacht werden muss. Aber wenn ihr der Meinung seit das das ganze auch mit direkt ansprechen also set oview = osheet.Views.Item(2) geht werde ich die schleife wieder raus nehmen.

vielen dank für die tipps und ratschläge.

------------------
mfg
Udo

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