Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Flächen
  Lochmuster auf bestimmter Fläche/ nur ganzeKreise

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:  Lochmuster auf bestimmter Fläche/ nur ganzeKreise (2448 mal gelesen)
LBKA
Mitglied
VI / Student

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

Beiträge: 8
Registriert: 22.12.2015

Catia V6

erstellt am: 24. Dez. 2015 01:26    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 zusammen,

ich stehe vor folgendem Problem. Über eine Projektion eines parametrirbaren Musters das auf einer Offseteben liegt, erstelle ich ein Lochmuster. Zu den Bauteilgrenzen hin sind Sicherheitsabstände.  (Siehe hier: http://ww3.cad.de/foren/ubb/Forum528/HTML/000100.shtml)
Ich möchte Catia beibringen das von dem Muster welches auf meine Fläche projeziert ist nur die ganzen Kreise dargestellt werden, und dir die auf meinen Grenzen liegen bzw diese schneiden un unvollständig sind automatisch weg bleiben.

Hat jemand evtl eine Idee?

Vielen Dank

Gruß Moritz

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

LBKA
Mitglied
VI / Student

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

Beiträge: 8
Registriert: 22.12.2015

Catia V6

erstellt am: 24. Dez. 2015 09: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

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: 27. Dez. 2015 11:23    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 LBKA 10 Unities + Antwort hilfreich

Servus
Eine Idee habe ich dazu, dies ist aber nicht einfach (über ein Makro):
- Körper mit dem "Sperrvolumen" erzeugen (wo dürfen die Bohrungen nicht hineinragen)
- Initialbohrung im extra Körper erzeugen
- Muster erzeugen
- alle Instanzen des Musters deaktivieren
- über eine Schleife die einzelnen Instanzen der Bohrungen erzeugen
- bei jedem Durchlauf die Kollision zwischen Sperrvolumen und Bohrungskörper ermitteln
- falls Kollision vorhanden -> Instanz deaktivieren
- nächster Durchlauf

ggf könntest du auch Knowlegware-Pattern verwenden (spezielle Lizenz notwendig) um das zu verwirklichen.

Gruß
Bernd

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

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: 27. Dez. 2015 14:56    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 LBKA 10 Unities + Antwort hilfreich


gridcircle_01.PNG


gridcircle_02.PNG


gridcircle_03.PNG

 
Hallo,

noch eine Möglichkeit, wie ein Makro aussehen könnte:

- ein Modell, wie in Bild(1)+(2) anlegen, mit zwei Kreisen, die den zulässigen Bereich definieren, sowie einem Punkte-Grid
- im Makro
- die Mindestbohrungsabstände vorgeben
- Grid-Punkte auswählen(Selektion)
- nicht im zulässigen Bereich befindliche Punkte aus der Selektion entfernen
- Kreise erzeugen oder zB per Powercopy Bodies einfügen

Bild(3) zeigt die Selektion nach der ersten Schleife(äusserer Kreis)
Bild(4) nach der SSchleife innerer Kreis
Bild(5) die fertigen Kreise

Bilder(4)+(5) in der Folge-Mail.

Die eigentliche Frage ist: Was kommt danach?

Tschau,
Joe

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

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



Ingenieur Breitband (m/w/d)

Du bewegst gern Großes ? wir bewegen den Puls der Stadt

Alles fließt ? damit das so ist und Strom, Erdgas, Wasser und Wärme auch da ankommen, wo sie benötigt werden, gibt es die wesernetz Bremen GmbH. Wir kümmern uns um die einwandfreie Funktion der verschiedenen, riesigen Versorgungsnetzwerke in der Stadt, zu jeder Zeit, an jedem Punkt. Neue Anforderungen in einer digitalisierten Welt bedienen wir mit einem ambitionierten Programm zum Glasfaserausbau ? für den schnellen Datenfluss....

Anzeige ansehenElektrotechnik, Elektronik
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: 27. Dez. 2015 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 Nur für LBKA 10 Unities + Antwort hilfreich


gridcircle_04.PNG


gridcircle_05.PNG

 
... und die letzten zwei Bilder:

--- edit----
Hab glatt das Makro vergessen:

Code:

Const strMacroName As String = "TrimGrid"
Const strMacroVersion As String = "1.0"

Const dblr1 As Double = 2                                  'kleiner radius in mm
Const dbls1 As Double = dblr1 + 2                          'randabstand kleiner kreis zu grosser kreis
Const dbls2 As Double = dblr1 + 2.5                        'randabstand kleiner kreis zu mittlerem kreis

Sub CATMain()
  Dim oADP As Part
  Dim oHSF As HybridShapeFactory
  Dim oOuterCircle As HybridShape                        'main circle
  Dim oInnerCircle As HybridShape                        'pipe circle
  Dim oPtCenter As HybridShape                            'center of main circle
  Dim oPtRef As Reference                                'ref of oPtCenter
  Dim oRef As Reference                                  'ref of grid point
  Dim n As Integer
  Dim oSel As Selection
  Dim oGrid As RectPattern
  Dim strGridPt As String                                'grid point string, eg. 13-21(rol/col)
  Dim strTemp As String
  Dim SPA_WB As Workbench
  Dim oCPoint As Measurable                              'representing center of the circle
  Dim iStart As Integer
  Dim iEnd As Integer
  Dim dblOuterRad As Double                              'radius outer circle
  Dim dblOuterRadZul As Double                            'reduced outer circle
  Dim dblInnerRad As Double                              'radius inner circle
  Dim dblInnerRadZul As Double                            'reduced inner circle
  Dim oHBCircles As HybridBody                            'set for circles
  Dim oRefPlane As Reference                              'support plane for circles
  Dim oHSCircle As HybridShapeCircle                      'new circle object

  CATIA.RefreshDisplay = False

  Set oADP = CATIA.ActiveDocument.Part
  Set oSel = CATIA.ActiveDocument.Selection
  oSel.Clear

  Set oGrid = oADP.hybridBodies.Item("PointGrid").HybridShapes.Item("Grid")

  oSel.Add oGrid                                          'select grid
  oSel.Search "Topology.CGMVertex,sel"                    'select points in grid

  Set SPA_WB = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")

  'delete points outside large circle
  Set oPtCenter = oADP.hybridBodies.Item("WireFrame").HybridShapes.Item("pt_CPCircle")
  Set oOuterCircle = oADP.hybridBodies.Item("WireFrame").HybridShapes.Item("OuterCircle")
  Set oPtRef = oOuterCircle.Center                        'set centerpoint of circle reference

  Set oCPoint = SPA_WB.GetMeasurable(oPtRef)

  dblOuterRad = oOuterCircle.Radius.Value                'get radius of main circle
  dblOuterRadZul = dblOuterRad - dbls1                    'reduce radius by margin

  For n = oSel.Count2 To 1 Step -1
      'build reference
      strTemp = oSel.Item2(n).Value.Name
      iStart = InStr(strTemp, "RectPattern.1;") + Len("RectPattern.1;")
      iEnd = InStr(iStart, strTemp, ":")
      strGridPt = Mid(strTemp, iStart, iEnd - iStart)
      Set oRef = oADP.CreateReferenceFromBRepName("BorderFVertex:(BEdge:(Brp:(" _
                                                & oGrid.Name & ";" & strGridPt _
                                                & ":(Brp:(GSMPoint.1)));None:(Limits1:();Limits2:();+1);Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", _
                                                  oGrid)
      'get distance to center point
      If oCPoint.GetMinimumDistance(oRef) > dblOuterRadZul Then
        oSel.Remove2 (n)                                  'if outside remove from selection
      End If
      DoEvents
  Next

  Debug.Print "Finished outer circle", oSel.Count2 & " points remaining"

  'delete points from inner circle
  Set oPtCenter = oADP.hybridBodies.Item("WireFrame").HybridShapes.Item("pt_CPCircleInner")
  Set oInnerCircle = oADP.hybridBodies.Item("WireFrame").HybridShapes.Item("InnerCircle")
  Set oPtRef = oInnerCircle.Center                        'set centerpoint of circle reference

  Set oCPoint = SPA_WB.GetMeasurable(oPtRef)

  dblInnerRad = oInnerCircle.Radius.Value                'get pipe radius
  dblInnerRadZul = dblInnerRad + dbls2                    'add margin

  For n = oSel.Count2 To 1 Step -1
      'build reference
      strTemp = oSel.Item2(n).Value.Name
      iStart = InStr(strTemp, "RectPattern.1;") + Len("RectPattern.1;")
      iEnd = InStr(iStart, strTemp, ":")
      strGridPt = Mid(strTemp, iStart, iEnd - iStart)
      Set oRef = oADP.CreateReferenceFromBRepName("BorderFVertex:(BEdge:(Brp:(" _
                                                & oGrid.Name & ";" & strGridPt _
                                                & ":(Brp:(GSMPoint.1)));None:(Limits1:();Limits2:();+1);Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", _
                                                  oGrid)
      'get distance to center point
      If oCPoint.GetMinimumDistance(oRef) < dblInnerRadZul Then
        oSel.Remove2 (n)                                  'if inside remove
      End If
      DoEvents
  Next
  Debug.Print "Finished inner circle", oSel.Count2 & " points remaining"

  'create circles
  Set oHBCircles = oADP.hybridBodies.Add
  oHBCircles.Name = "Circles"
  '  Set oHBCircles = oADP.hybridBodies.Item("Circles")
  Set oHSF = oADP.HybridShapeFactory
  Set oRefPlane = oOuterCircle.Support                    'get support reference

  For n = oSel.Count2 To 1 Step -1
      'build reference
      strTemp = oSel.Item2(n).Value.Name
      iStart = InStr(strTemp, "RectPattern.1;") + Len("RectPattern.1;")
      iEnd = InStr(iStart, strTemp, ":")
      strGridPt = Mid(strTemp, iStart, iEnd - iStart)
      Set oRef = oADP.CreateReferenceFromBRepName("BorderFVertex:(BEdge:(Brp:(" & oGrid.Name & ";" & strGridPt & ":(Brp:(GSMPoint.1)));None:(Limits1:();Limits2:();+1);Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", oGrid)
      'create circle
      Set oHSCircle = oHSF.AddNewCircleCtrRad(oRef, oRefPlane, True, dblr1)
      oHSCircle.SetLimitation 1                            'closed circle
      oHBCircles.AppendHybridShape oHSCircle              'add to set
      oHSCircle.AxisComputation = True                    'add axis
      DoEvents
  Next

  'main circle center is always inside main circle
  'check pipe region; measure ptref(pipe) against the center of the main circle
  Set oPtCenter = oADP.hybridBodies.Item("WireFrame").HybridShapes.Item("pt_CPCircle")
  Set oRef = oADP.CreateReferenceFromObject(oPtCenter)
  If oCPoint.GetMinimumDistance(oRef) > dblInnerRadZul Then
      'create circle
      Set oHSCircle = oHSF.AddNewCircleCtrRad(oRef, oRefPlane, True, dblr1)
      oHSCircle.SetLimitation 1                            'closed circle
      oHBCircles.AppendHybridShape oHSCircle              'add to set
      oHSCircle.AxisComputation = True                    'add axis
  End If
 
  Debug.Print "Finished creating circles"
 
  oSel.Clear
  oADP.Update
  CATIA.RefreshDisplay = True
  oADP.Update
  DoEvents
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