Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Boundary-Referenz

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:  Boundary-Referenz (1074 mal gelesen)
White-Fox
Mitglied
E-Techniker


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

Beiträge: 24
Registriert: 23.01.2017

erstellt am: 28. Jan. 2017 21:14    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

Gibt es irgendein sinnigses Vorgehen, um eine Brep-Referenz zu erzeugen? Das werden bei mir immer so rasch elend lange Strings, völlig unübersichtlich, und bisher konnte der Kompiler bei mir noch nie was mit einer von mir selber erstellten Referenz anfangen und meckert mit einem Fehler.

Ich hab meine Breps bisher versucht nach dem Muster von Ziethen zu erstellen. Hat aber bisher noch nie funktioniert.

Das Beste, was ich dazu bisher gefunden habe, ist das hier:
http://forum.cad.de/foren/ubb/Forum137/HTML/003580.shtml
Allerdings funktioniert das in meinem Fall nicht.

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 28. Jan. 2017 22:05    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 White-Fox 10 Unities + Antwort hilfreich

Hi Fox,

zeichne den Vorgang mit dem Makro-Rekorder auf und schau Dir dann die breps an.

Code:

Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromBRepName("FVertex:(Vertex:(Neighbours:(Face:(Brp:(Pad.1;2);None:();Cf11:());Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Fa ce:(Brp:(Pad.1;0:(Brp:(Sketch.1;4)));None:();Cf11:()));Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", rectPattern1)

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromBRepName("FVertex:(Vertex:(Neighbours:(Face:(Brp:(Pad.1;2);None:();Cf11:());Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Fa ce:(Brp:(Split.1_ResultOUT);None:();Cf11:()));Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", rectPattern1)

Dim hybridShapePointBetween1 As HybridShapePointBetween
Set hybridShapePointBetween1 = hybridShapeFactory1.AddNewPointBetween(reference1, reference2, 0.5, 1)

Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(Pad.1;0:(Brp:(Sketch.1;1)));None:();Cf11:());Face:(Brp:(Pad.1;2);None:();Cf11:());None:(Limits1:();L imits2:());Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", rectPattern1)

hybridShapePointBetween1.Support = reference3



Die direkten Bezüge auf modell-typische Elemente(oben; Sketch.1 und Pad.1) musst halt dann durch eigene Variable ersetzen.

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

White-Fox
Mitglied
E-Techniker


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

Beiträge: 24
Registriert: 23.01.2017

erstellt am: 28. Jan. 2017 22:32    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

Hm...dann muß ich mir was einfallen lassen. Ich werd mal schauen ob ich ein Makro schreibe, daß mir den String zusammenbaut.

Ich benenne z.B. die Skizzen um. Gibt es irgendeine Möglichkeit, die Nummer auszulesen?

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 28. Jan. 2017 22:38    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 White-Fox 10 Unities + Antwort hilfreich

Hi Fox,

welche Nummer, bitte? Vom Sketch?

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

White-Fox
Mitglied
E-Techniker


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

Beiträge: 24
Registriert: 23.01.2017

erstellt am: 28. Jan. 2017 22:51    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, zum Beispiel.

Catia benennt die Skizzen ja selbstständig wie Sketch.1, Sketch.2, usw..
Aber eine Skizze, die vorher erstellt oder weggelassen wird, würde mir einen statischen Code versauen.

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 28. Jan. 2017 23:13    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 White-Fox 10 Unities + Antwort hilfreich

Hi Fox,

Du ersetzt die fix vorgegebenen Catia-Namen mit einer von Dir definierten Variable, zB.
oAxSysCos, wobei

Dim oAxSysCos  As AxisSystem                'axis system for measuring angles

ist und baust sie in den brep-String ein, zB.

Code:

  'refs der schenkel des neuen achsensystems bilden
      Set X_Axis = oParent.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(" & oAxSysCos.Name & ";1);None:();Cf11:());Face:(Brp:(" _
        & oAxSysCos.Name & ";3);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());WithPermanentBody;WithoutBuildError;" & _
        "WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSysCos)

Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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

razzor88
Mitglied



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

Beiträge: 42
Registriert: 09.06.2016

erstellt am: 29. Jan. 2017 19: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 Nur für White-Fox 10 Unities + Antwort hilfreich

für den BREP-String braucht man aber doch den InternalName vom ModelElement. Z.B.
Code:
AXS_Bauteil_Plane_XY = Part1.CreateReferenceFromBRepName("RSur:(Face:(Brp:(" & AXS_Bauteil.GetItem("ModelElement").InternalName & ";1);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", AXS_Bauteil)

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 30. Jan. 2017 17:00    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 White-Fox 10 Unities + Antwort hilfreich

Hi razzor,

nicht unbedingt.
So geht's auch:

Code:

'---------------------------------------------------------------------------------------
' Procedure : CreateNewPart
' Author    : jherzog
' Date      : 08.12.2016
' Time      : 22:02
' Languages : VBA 6.5
' V5-Release: V5R19/21
' Purpose  : create sketch and 3d-surf based on sketch
' Parms    : -
' Ret. Value: -
'
' Syntax    : CreateNewPart_4
'
' Prereqs  : open catia session
' Remarks  : sketch support plane(axis-plane) is defined in script
'---------------------------------------------------------------------------------------
'
Sub CreateNewPart_4()
  Dim oADP As Part
  Dim oPB As AnyObject
  Dim oHB As HybridBody
  Dim oSel                                                ' As Selection
  Dim oHSF As HybridShapeFactory
  Dim oHSPC0 As HybridShapePointCoord
  Dim oRef0 As Reference
  Dim oSketchPln As Plane
  Dim oRefPln As Reference
  Dim oSK                                                ' As Sketch
  Dim oSKRef As Reference
  Dim oF2D                                                ' As Factory2D
  Dim oHSEx As HybridShapeExtrude
  Dim arrPt2D(5)
  Dim oSpln2D As Spline2D
  Dim oHSDir                                              ' As HybridShapeDirection
  Dim oAxSyst As AxisSystem                              'axis system for measuring angles
  Dim XY_Plane As Reference
  Dim XZ_Plane As Reference
  Dim YZ_Plane As Reference

  'create new part
  CATIA.Documents.Add ("Part")
  Set oADP = CATIA.ActiveDocument.Part

  Set oSel = CATIA.ActiveDocument.Selection
  oSel.Clear

  'hide origin planes
  oSel.Add oADP.OriginElements.PlaneXY
  oSel.Add oADP.OriginElements.PlaneYZ
  oSel.Add oADP.OriginElements.PlaneZX
  oSel.VisProperties.SetShow catVisPropertyNoShowAttr
  oSel.Clear

  'create axis
  Set oAxSyst = oADP.AxisSystems.Add()
  oADP.UpdateObject oAxSyst
  oAxSyst.IsCurrent = True
 
  'define ref planes
  Set XY_Plane = oADP.CreateReferenceFromBRepName("RSur:(Face:(Brp:(" & oAxSyst.Name & ";1);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSyst)
  Set XZ_Plane = oADP.CreateReferenceFromBRepName("RSur:(Face:(Brp:(" & oAxSyst.Name & ";3);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSyst)
  Set YZ_Plane = oADP.CreateReferenceFromBRepName("RSur:(Face:(Brp:(" & oAxSyst.Name & ";2);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oAxSyst)

  'create/set and show geoset
  Set oPB = oADP.Bodies.Item(1)
  If oADP.hybridBodies.Count = 0 Then
      Set oHB = oADP.hybridBodies.Add
  Else
      Set oHB = oADP.hybridBodies.Item(1)
  End If

  oSel.Add oHB
  oSel.VisProperties.SetShow catVisPropertyShowAttr
  oSel.Clear

  'create/hide sketch plane
  Set oHSF = oADP.HybridShapeFactory
  Set oSketchPln = oHSF.AddNewPlaneOffset(XZ_Plane, 0#, True)
  oHB.AppendHybridShape oSketchPln

  oSel.Add oSketchPln
  oSel.VisProperties.SetShow catVisPropertyNoShowAttr
  oSel.Clear

  oADP.Update

  'create sketch
  Set oSK = oHB.HybridSketches.Add(oSketchPln)
  Set oF2D = oSK.OpenEdition

  'create spline
  Set arrPt2D(0) = oF2D.CreateControlPoint(0, 0)
  Set arrPt2D(1) = oF2D.CreateControlPoint(20, 10)
  Set arrPt2D(2) = oF2D.CreateControlPoint(40, -10)
  Set arrPt2D(3) = oF2D.CreateControlPoint(70, 15)
  Set arrPt2D(4) = oF2D.CreateControlPoint(100, -15)

  Set oSpln2D = oF2D.CreateSpline(arrPt2D)

  oSK.CloseEdition

  oADP.Update

  'create extruded surf
  Set oHSDir = oHSF.AddNewDirection(oSketchPln)
  Set oSKRef = oADP.CreateReferenceFromObject(oSK)

  Set oHSEx = oHSF.AddNewExtrude(oSKRef, 30#, 0#, oHSDir)
  oHB.AppendHybridShape oHSEx

  oADP.Update
End Sub



Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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