Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Drawing. Mit Selektion weiterarbeiten.

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:  Drawing. Mit Selektion weiterarbeiten. (448 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: 21. Nov. 2008 07:45    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 nach einer Lösung für folgendes Problem.

Ein Punkt auf einem Zeichnungsdokument soll vom Benutzer ausgewählt werden.

Das Makro soll "genau" von diesem Punkt aus bzw. an diesem Punkt eine Linie zeichnen.

Das Makro, das ich erstellt habe, zeichnet zwar eine Linie an einem vom

Benutzer ausgewählten Punkt aber leider nur "ungefähr" an dem Punkt.


(Wenn der Punkt erstellt wird ist er nach dem erstellen automatisch makiert.

Nach dem erstellen muss der Punkt jedoch nochmals neu makiert werden, damit das

Makro seinen Dienst verrichtet.)


Ich hab das Forum durchforstet, die V5Automation.chm und das Buch von Herr Ziehten

aber habe es nicht geschafft daraus eine Lösung für das Problem abzuleiten.


Hier das Makro:

Language="VBSCRIPT"

a = 10


Sub CATMain()

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


'--------------HIER BEGINNT DIE SELEKTION-----------------------------


Set oSelElem = Document.Selection.Item(1)

Dim myArray(1)

oSelElem.GetCoordinates myArray


'-------------TEILT ARRAY IN 2 KOORDINATEN------------------------------

dPosX = myArray(0)
dPosY = myArray(1)

Set oLine = Factory2D.Createline(dPosX, dPosY+a, dPosX, dPosY)

End Sub


Viele Grüsse


HaWu

[Diese Nachricht wurde von hawu am 21. Nov. 2008 editiert.]

[Diese Nachricht wurde von hawu am 21. Nov. 2008 editiert.]

[Diese Nachricht wurde von hawu am 21. Nov. 2008 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: 11780
Registriert: 30.11.2006

CATIA V5R19

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

Servus
Warum machst du nihct in deinem andern Beitrag (hier) weiter?
Da steht ja schon die Lösung wie der Punkt ausgelesen wird.

Gruß
Bernd

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

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: 21. Nov. 2008 08:58    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

@Bernd

Hallo,

Bei der dortigen Lösung tritt das selbe Problem auf.

Ich vermute, daß das Problem was mit der Fangzone zu tun hat.

Das heißt,

um den Punkt zu makieren reicht es, in einer Zone von vielleicht

(0,5mm)E2 um den Punkt herum zu klicken.

In der Selektion wird dann der Punkt verwendet, der innerhalb der

Fangzone angeklickt wurde, und nicht der makierten Punkt. 

Das Makro aus dem vorherigen Beitrag mit dem Kreis hat das selbe

Problem, obwohl dort nicht über "getcoordinates" selektiert wird,

sondern über "sStatus = oDrawingDocument.Indicate2D".


Gruss Harry

[Diese Nachricht wurde von hawu am 21. Nov. 2008 editiert.]

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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 21. Nov. 2008 14:12    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 hawu,

du holst die mit GetCoordinates die Koordinaten des "ClickPoints", weil du die Methode auf ein Objekt des Typs "SelectedElement" anwendest und nicht auf das gewünschte "Point2D"-Objekt.

Dim myArray(1)
Set oSelElem = Document.Selection.Item(1)      '# SelectedElement
oSelElem.GetCoordinates myArray                  '# Klick-Punkt-Koordinaten

Set oSelElem = Document.Selection.Item(1).Value      '# Point2D (Falls ein Punkt selektiert wurde)
oSelElem.GetCoordinates myArray                            '# Koordinaten des selektierten Punktes

Gruß
CAMiCADse

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: 21. Nov. 2008 14:58    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

hi CAMiCADse

Danke und schönes Wochenende


Viele Grüsse Harry

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