Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  CreateReferenceFromBRepName not working,

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
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Autor Thema:   CreateReferenceFromBRepName not working, (228 mal gelesen)
appvid
Mitglied
DESIGNER

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

Beiträge: 9
Registriert: 28.08.2012

Model-HP Z500
Processor-Interl Xeon 2.93GhZ
Type-64bit
RAM 12GB
CATIA-R20
MS VB 6.5

erstellt am: 09. Nov. 2020 03:34    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 Expertinnen
Guten Morgen

Mein Makro dient zum Hinzufügen von Filets an allen scharfen Kanten einer Oberfläche.

Aber nicht sicher, warum diese Zeile ausfällt.
Versuchte 3 Tage lang hart und konnte das Problem nicht herausfinden


Vielen Dank für Ihre Hilfe 
Pillowsref(i) = Part1.CreateReferenceFromBRepName(Brep_name & ");WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", select_surface)
-----------------------------------------------
Hello Everybody..
Good morning
my Macro is for adding fillets on all sharp edges of a surface.

But not sure why this line fails.
Tried hard for 3 days and could not figure  out the problem
Its stops here, what is wrong with this??.. Appreciate your help
Pillowsref(i) = Part1.CreateReferenceFromBRepName(Brep_name & ");WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", select_surface)
------------------------------------------------------------------


Code:

Sub CATMain()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim Part1 As Part
Set Part1 = partDocument1.Part

Dim shapeFactory1 As ShapeFactory
Set shapeFactory1 = Part1.ShapeFactory

Dim selectionbody As Selection
Set selectionbody = partDocument1.Selection
selectionbody.Clear

Dim InputObject(0)
InputObject(0) = "HybridShape"

Set Bodyforfillet = CATIA.ActiveDocument.Selection

MsgBox "Select Surafece with sharp edges"

Status = Bodyforfillet.SelectElement2(InputObject, "Select Surface with fillets", False) 'Selection

Set bodyname = selectionbody.Item(1).Value

MsgBox bodyname.Name

Dim select_surface As AnyObject
Set select_surface = Bodyforfillet.Item(1).Value


Name = select_surface.Name

Dim Rad As Double
Rad = 0.2

Call Final_Fillet(Part1, select_surface, Rad)


End Sub

Private Function Final_Fillet(Part1 As Part, select_surface As Object, Rad As Double) As AnyObject


Dim Bodyslection As Selection
Set Bodyslection = CATIA.ActiveDocument.Selection

Bodyslection.Search "type=topology.face,sel"
MsgBox Bodyslection.Count2


MsgBox select_surface.Name
Dim Pillows As Integer
Pillows = Bodyslection.Count2

Dim Pillowsref() As Reference


For i = 1 To Pillows
Dim Brep_name As String
Brep_name = Bodyslection.Item(i).Value.Name


Brep_name = Replace(Brep_name, "Selection_", " ")

Brep_name = StrReverse(Brep_name)

For ZZ = 1 To 3 Step 1

    ii = InStr(Brep_name, ";")
    Brep_name = Right(Brep_name, Len(Brep_name) - ii)
  
Next

Brep_name = StrReverse(Brep_name)
MsgBox Brep_name

Pillowsref(i) = Part1.CreateReferenceFromBRepName(Brep_name & ");WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", select_surface)

Next

Dim constRadEdgeFillet1 As ConstRadEdgeFillet
Set constRadEdgeFillet1 = shapeFactory1.AddNewSurfaceEdgeFilletWithConstantRadius(Pillowsref(1), 0, 0.2)

For j = 2 To Pillows
constRadEdgeFillet1.AddObjectToFillet Pillowsref(i)
Next

constRadEdgeFillet1.FilletBoundaryRelimitation = 1

constRadEdgeFillet1.EdgePropagation = catTangencyFilletEdgePropagation

constRadEdgeFillet1.FilletBoundaryRelimitation = catConnectFilletBoundaryRelimitation

constRadEdgeFillet1.FilletTrimSupport = catTrimFilletSupport

Bodyslection.Clear

End Function


[Diese Nachricht wurde von appvid am 09. Nov. 2020 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: 11166
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 09. Nov. 2020 19: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 Nur für appvid 10 Unities + Antwort hilfreich

Servus

Die Methode AddNewSurfaceEdgeFilletWithConstantRadius erwartet eine Reference einer Kante.
zB (per Makrorekorder):

Code:
Set reference1 = part1.CreateReferenceFromBRepName("REdge:(Edge:(Face:(Brp:(GSMBiDim.1;%8);None:();Cf11:());Face:(Brp:(GSMBiDim.1;%4);None:();Cf11:());None:(Limits1:();Limits2:());Cf11:());WithTemporaryBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", hybridShapeSurfaceExplicit1)
Ich interpretiere den BREP so: es wird eine Kante (Edge:) aus zwei Flächen (Face:) gebildet.

In deinem Code bildest du nur den BREP aus einer Fläche.

Gruß
Bernd

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

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

appvid
Mitglied
DESIGNER

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

Beiträge: 9
Registriert: 28.08.2012

Model-HP Z500
Processor-Interl Xeon 2.93GhZ
Type-64bit
RAM 12GB
CATIA-R20
MS VB 6.5

erstellt am: 10. Nov. 2020 00:28    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


Presentation1.jpg

 
thank you verymuch for reply Bernd.


Please see attached picture.
I have surface with multiple pyramids. Want to add fillets to those sharp edges.
in edge fillet definition , I added faces 
I was selecting faces to avoid selection of open edges.

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)2020 CAD.de | Impressum | Datenschutz