Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro um Zahlen in Zeichnung zu setzen

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:  Makro um Zahlen in Zeichnung zu setzen (2634 mal gelesen)
Zeus34
Mitglied
Techniker


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

Beiträge: 89
Registriert: 25.09.2001

erstellt am: 22. Jul. 2011 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,

ich suche ein Makro das mir in einer Zeichnung bei 1 beginnend bei jedem Mausklick die Zahl ausgibt und eins hochzählt.
(1, 2 ,3...usw)

Das geht auch mit der Ballon Funtion nur hängt da der Leader mit dran.
Es sollte nur die Zahl sichtbar sein.

Es sollte Blatt übergreifend möglich sein.
Wenn ich auf Blatt1 mit der Zahl 5 aufhöre sollte es auf Blatt2 mit der Zahl 6 weitegehen.

Also eigentlich genau die gleich Funktionalität wie beim Ballon nur ohne Leder und Punkt.

Ich hoff eich konnte das verständlich erklären was mir so vorschwebt.

Schonmal vorab besten Dank und Gruß

Micha

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 24. Jul. 2011 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 Zeus34 10 Unities + Antwort hilfreich

Hallo Zeus34,

Ich glaube, das könnte es sein:

Sub CATMain()

Dim Status
Dim Position(1)
Dim drawingDocument1 As DrawingDocument
Set drawingDocument1 = CATIA.ActiveDocument

CATIA.ActiveWindow.ActiveViewer.Reframe  'Fit in Page
Status = drawingDocument1.Indicate2D("Punkt wählen", Position)

If (Status = "Cancel") Then
MsgBox "Textmarke wurde nicht eingefügt"
Exit Sub
End If

Dim parameters1 As Parameters
Set parameters1 = drawingDocument1.Parameters

Dim intParam1 As IntParam
Dim ZAEHLER As Single
Dim ZAEHLER_1 As Long
Dim ZAEHLER_10 As Long
Dim ZAEHLER_100 As Long

On Error Resume Next

Set intParam1 = parameters1.Item("ZAEHLER")

If intParam1 Is Nothing Then

    Err.Clear
    Set intParam1 = parameters1.CreateInteger("", 0)
    intParam1.Rename "ZAEHLER"

End If

intParam1.Value = intParam1.Value + 1
ZAEHLER = intParam1.Value

ZAEHLER_100 = Round((ZAEHLER - 50) / 100, 0)

ZAEHLER_10 = Round(((ZAEHLER - 100 * ZAEHLER_100) - 5) / 10, 0)

ZAEHLER_1 = ZAEHLER - (100 * ZAEHLER_100) - (10 * ZAEHLER_10)

On Error GoTo 0

Dim drawingSheets1 As DrawingSheets
Set drawingSheets1 = drawingDocument1.Sheets

Dim drawingSheet1 As DrawingSheet
Set drawingSheet1 = drawingSheets1.ActiveSheet

Dim drawingViews1 As DrawingViews
Set drawingViews1 = drawingSheet1.Views

Dim drawingView1 As DrawingView
Set drawingView1 = drawingViews1.ActiveView

Dim drawingTexts1 As DrawingTexts
Set drawingTexts1 = drawingView1.Texts

Dim drawingText1 As DrawingText

Dim Textbezeichnung As String
Dim Textinhalt As String

Textbezeichnung = "Label." & ZAEHLER

Set drawingText1 = drawingTexts1.Add(Textbezeichnung, Position(0), Position(1))

If ZAEHLER > 99 Then

    drawingText1.Text = Chr(48 + ZAEHLER_100) & Chr(48 + ZAEHLER_10) & Chr(48 + ZAEHLER_1)

ElseIf ZAEHLER > 9 Then

    drawingText1.Text = Chr(48 + ZAEHLER_10) & Chr(48 + ZAEHLER_1)

Else

    drawingText1.Text = Chr(48 + ZAEHLER_1)

End If

End Sub


Du müsstest den Text in einem Editor reinkopieren und das Ganze mit der Extension .CATScript anstelle .txt sichern.

Dann kannst du mit einem Doppelklick im Explorer das Makro bei laufendem CATIA und geöffneter Zeichnung starten.

Nach dem Start eine beliebige Stelle auf der Zeichnung anklicken, die Nummer wird hochgezählt. Ein Parameter, den das Makro zu Beginn einfügt wird hochgezählt. Den könntest du auch wieder im Drawing-Baum doppelklicken und überschreiben, falls du dich mal vertan hast.

Viel Spass damit.

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Zeus34
Mitglied
Techniker


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

Beiträge: 89
Registriert: 25.09.2001

erstellt am: 25. Jul. 2011 06: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

Danke werde ich heute mal ausprobieren...

Vielen dank für die Mühe

Gruß
Micha

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

Zeus34
Mitglied
Techniker


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

Beiträge: 89
Registriert: 25.09.2001

erstellt am: 26. Jul. 2011 10:30    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 Thomas,

habe das Makro mal getestet.

Es funktioniert so weit.
Es sollte nur so sein das ich das Makro nur einmal starten muß und dann sollte beim ersten Klick die Zahl 1 ausgegeben werden....dann beim nächsten Klick die Zahl 2..usw.

Das ganze sollte Blatt übergreifend gehen.

Sollte das blattübergreifende nicht gehen...wäre es schön wenn ich beim zweiten Blatt die Zahl manuell eingeben könnte mit der man beginnen will.

Wenn ich auf Blatt1 mit der Zahl 5 aufgehört habe sollte es auf Blatt2 mit der Zahl 6 weitergehen.

Hoffe ich habe mich verständlich ausgedrückt.

Das was mir vorschwebt gibt es in der Funtion Ballon....nur eben leider mit dem Leader.

Gruß
Micha

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 26. Jul. 2011 19:16    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 Zeus34 10 Unities + Antwort hilfreich

Servus
Das was du willst (Makro bleibt aktiv) ist nicht so einfach.
Dann leg dir das Makro einfach auf eine Tastenkombination dann kannst du die Zahlen schnell erstellen (das hochzählen klappt ja)

Gruß
Bernd

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

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

Zeus34
Mitglied
Techniker


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

Beiträge: 89
Registriert: 25.09.2001

erstellt am: 26. Jul. 2011 21: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

Danke für den Tipp....nur so mache ich das im Prinzip jetzt auch nur mit der Text Funktion.

Gruß Micha

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

Zeus34
Mitglied
Techniker


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

Beiträge: 89
Registriert: 25.09.2001

erstellt am: 28. Jul. 2011 09:48    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

Sub CATMain()

Dim ZAEHLER As integer
Dim Status
Dim Position(1)
Dim drawingTexts1 As DrawingTexts
Dim drawingText1 As DrawingText
Dim Textbezeichnung As String

set drawingtexts1 = catia.activedocument.sheets.activesheet.views.activeview.texts
zaehler = inputbox ("Anfangs Nr :")

do 

'  CATIA.ActiveWindow.ActiveViewer.Reframe  'Fit in Page
Status = CATIA.ActiveDocument.Indicate2D("Punkt wählen (Abbr. mit ESC)", Position)
If (Status = "Cancel") Then
MsgBox "Abgebrochen"
Exit Sub
End If

On Error Resume Next

Textbezeichnung = "Label." & ZAEHLER
Set drawingText1 = drawingTexts1.Add(Textbezeichnung, Position(0), Position(1))
drawingText1.Text = zaehler

zaehler = zaehler+1
loop

End Sub

Ein Kollege von mir hat das mal geschrieben....wußte nicht das er das kann....ich bin mit dem Ergebiss zufrieden.
Ist aufs wesentliche reduziert.

Danke für die Antworten und die Mühe.

Gruß Micha 

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