Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  SPAWorkbench - Measurable

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:  SPAWorkbench - Measurable (2635 mal gelesen)
FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 24. Jul. 2008 11: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

Hi,

ich hab mal wieder ein problem 

Folgendes Szenario:

Ich habe einen geschlossenen kantenzug. vom mittelpunkt aus geht eine gerade durch diesen kantenzug.
jetzt nehme ich den/die schnittpunkt/e und moechte sie einer polylinie zufuegen.
direkt geht das nicht, da der schnittpunkt mit der geraden mitwandert. also moechte ich die koordinaten des schnittpunktes auslesen und dort einen punkt erzeugen.

normalerweise macht man sowas ja (soweit ich weiss) mit der spaWorkbench und dem measurable object.

bei meinem code, kommt allerdings immer ein fehler:
(der einfachheithalber, hab ich hier einfach ein test-punkt erzeugt

[code]
  Dim p As Part
  Dim hybridShapeFactory1 As HybridShapeFactory
  Dim hybridShapePointCoord1 As HybridShapePointCoord
  Dim TheSPAWorkbench As SPAWorkbench
  Dim TheMeasurable 'As Measurable
  Dim ref As Reference
  Dim coords(2) 'As Variant

  Set p = CATIA.ActiveDocument.Part
  set hybridShapeFactory1 = p.HybridShapeFactory
  Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
  Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(0#, 0#, 0#)
  Set ref = part1.CreateReferenceFromObject(hybridShapePointCoord1)
  Set TheMeasurable = TheSPAWorkbench.GetMeasurable(ref)
  Call TheMeasurable.GetPoint(coords)
[/code ]

i-eine ahnung was ich falsch mach oder warum der fehler kommt?
ich arbeite unter xp mit v5r17

------------------
no milk today...

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 24. Jul. 2008 11:52    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 FiRo 10 Unities + Antwort hilfreich

Hallo,
wo bekommt er denn bei (Set ref = part1.CreateReferenceFromObject(hybridShapePointCoord1) Part1 her? Das ist doch ganicht deklariert.

------------------
MFG
Rick Schulz


Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."

[Diese Nachricht wurde von RSchulz am 24. Jul. 2008 editiert.]

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 24. Jul. 2008 11: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

ja. .. 'part1' sollte 'p' heissen.

copy'n'paste fehler 

------------------
no milk today...

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

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

Es müsste
Set ref = p.CreateReferenceFromObject(hybridShapePointCoord1)
heißen, aber was für ein Fehler kommt denn?

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 24. Jul. 2008 12:03    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

sorry, echt nicht mein tag heute.
das wollte ich natuerlich auch noch reinschreiben.

Es kommt:
"Run-time error '-2147467259 (800004005)':
The method GetPoint failed"

ziemlich aussagekraeftig :-/

Auch interessant:
Wenn ich die Variable 'TheMeasurable' explizit als 'Measurable' deklarier (ist in meinem code auskommentiert), dann kommt folgender fehler:

"Compile Error:

Function or interface marked as restricted, or the function uses an Automation type not supported in Visual Basic"

Beider Fehler kommen in R16 wie R17.

------------------
no milk today...

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: 25. Jul. 2008 02: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 FiRo 10 Unities + Antwort hilfreich

Hallo FiRo,

meine erste (dumme) Frage ist: Weißt Du eigentlich, was Du tust bzw. programmierst?
Nach meinem bescheidenen Verständnis kann das, was Du da an Code-Schnipsel hast, nie funktionieren! Warum? Du deklarierst zwar einen Punkt, erzeugst ihn aber nicht. Und dann versuchst Du die Koordinaten dieses nicht vorhandenen Punktes auszulesen und wunderst Dich, dass CATIA sagt: "Geht nicht!".

Ich habe Deinen Code mal so angepasst, dass er läuft:

Code:
  Dim p As Part
  Dim hybridBody As HybridBody
  Dim hybridShapeFactory1 As HybridShapeFactory
  Dim hybridShapePointCoord1 As HybridShapePointCoord
  Dim TheSPAWorkbench As SPAWorkbench
  Dim TheMeasurable 'As Measurable
  Dim ref As Reference
  Dim coords(2) 'As Variant

  Set p = CATIA.ActiveDocument.Part
  Set hybridBody = p.HybridBodies.Add
  Set hybridShapeFactory1 = p.HybridShapeFactory
  Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(0, 0, 0)
  hybridBody.AppendHybridShape hybridShapePointCoord1
  p.UpdateObject hybridBody

  Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
  Set ref = part1.CreateReferenceFromObject(hybridShapePointCoord1)
  Set TheMeasurable = TheSPAWorkbench.GetMeasurable(ref)
  Call TheMeasurable.GetPoint(coords)





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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 29. Jul. 2008 09: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

hi lusilnie,

ich bin zwar kein profi, aber denke schon grob zu wissen was ich tu.

der code sollte eigentlich funktioniere, nach allem was ich bisher mit VBs erlebt hab.

die deklaration des punktes ist mit
dim hybridShapePointCoord1 as HybridShapePointCoord
erledigt, die erzeugung mit
Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(0, 0, 0)
mit
hybridBody.AppendHybridShape hybridShapePointCoord1
fuegt man nur einen vorhandenen punkt einem geo.set hinzu.
man kann allerdings schon vorher mit dem punkt arbeiten.
das mach ich bisher mit allen projekten so und das tut auch.
ich hab das absichtlich bisher so gemacht, da es mir zu unuebersichtlich wird, wenn ich alle 'hilfsgeometrien' einem geo.set hinzufueg.

aber vielen dank fuer deinen hinweis.

------------------
no milk today...

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

FiRo
Mitglied
Skript-Student


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

Beiträge: 26
Registriert: 07.11.2007

V5R17

erstellt am: 29. Jul. 2008 09: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

Asche auf mein Haupt.

auch wenn ich nicht so recht verstehen warum, deine loesung tut.
ich vermute, dass die workbenches vllt nicht ineinander uebergreifen oder die SPAWorkbench nur sachen sieht, die einem geo.set zugeordnet sind oder sonstige eigenarten von VBS.
innerhalb einer workbench hatte es bis jetzt funktioniert und deklaration/erzeugung sollten auch so stimmen, wie ich's oben geschrieben hatte.
oder ich hab irgendwas so richtig falsch verstanden.

be it as it is, vielen dank

------------------
no milk today...

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