Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  äquidistate Punkte auf Spirale bei Lochplatte

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:  äquidistate Punkte auf Spirale bei Lochplatte (3308 mal gelesen)
AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 21. Dez. 2015 16: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


platte.JPG

 
Hallo zusammen,

zunächst mal der Sachverhalt: zum Herstellen eines Reflexionsschalldämpfers sind Löcher auf einer Platte zu erzeugen. Die Platte hat 2 Durchbrüche für größere Rohre. Sowohl der Plattenrand, als auch die Durchbrüche haben einen Sicherheitsabstand zur Belochung der Platte.

Die Belochung soll in verschiedenen variablen Mustern ausgeführt werden. Dabei soll der Lochabstand, sowie deren Durchmesser parametrisch gesteuert werden.

Für mein erstes Belochungsmuster habe ich eine Spiralanordnung gewählt. Hiefür habe ich eine Spirale, mit Startpunkt=Ursprung und Endpkt= (Plattendurchmesser - Sicherheitsabstand - halber Lochdurchmesser), gezeichnet. Hierauf möchte ich Punkte in gleichen Abständen platzieren, an deren Stelle später Löcher sein sollen.

Nun zu den Fragen:
1. Wie kann ich Punkte mit gleichem Abstand auf der Spirale generieren?  Da sich die Spirale an den Außendurchmesser anpasst, muss ich auch die Punkteanzahl demnach anpassen.

2. Wie kann ich die Punkte (damit im Endeffekt Löcher) innerhalb der Durchgänge auslassen?

vielen Dank schonmal!

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: 22. Dez. 2015 22: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 AjoschaKoch 10 Unities + Antwort hilfreich

Hi Ajoscha,

zu 2) anders formuliert:
- Falls ein Punkt innerhalb der kleinen Kreise liegt -> überspringen
- Falls ein Punkt innerhalb des grossen Kreises liegt, aber mit Abstand < t zu einem kleinen -> überspringen
- Falls ein Punkt innerhalb des grossen Kreises liegt, aber mit Abstand < t zum grossen -> überspringen

zu1):
- Spiralkurve mit funktionsabhängigem Radius erzeugen
- Multi-Punkte auf Kurve erzeugen; Abstand Pkt/Pkt = s
- Punktenamen ändern; etwa Point.1 -> Test001_Point.1
- Spiralkurve an neuen Radius anpassen über Funktion
- Punkte über String 'Test001_' suchen und löschen
- Punkte neu anlegen und umbenennen; s = s_neu;

Wenn Du den ersten Punktesatz beibehalten willst, wird's hässlicher:
- anstatt die alten Punkte zu löschen, die Koordinaten an einen Satz neu erzeugter temporärer Punkte angleichen
- überschüssige Punkte löschen, fehlende anfügen
- den Temporärsatz löschen

So als erster Ansatz.

Tschau,
Joe


Ausserdem zum Thema:
- http://ww3.cad.de/foren/ubb/Forum137/HTML/004384.shtml#000009

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

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 15:09    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 AjoschaKoch 10 Unities + Antwort hilfreich

Hi Aljoscha,

ich hab bei einer ähnlichen Problemstellung kurz ein Makro geschrieben.

Zu finden unter

http://ww3.cad.de/foren/ubb/Forum138/HTML/001502.shtml

Die Punkteauswahl müsste bei Deinem Beispiel anders erfolgen.

Tschau,
Joe

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 27. Dez. 2015 15: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

Hi Joe,

vielen Dank, ich werde gleich mal reingucken
Mein Problem ist, dass alles automatisch laufen muss und durch Parameter steuerbar sein soll. Dabei ist darauf zu achten, dass es in den Löchern der Durchzüge nicht zu Verschneidungen mit Perforationslöchern kommen darf. In der Knowledgeware von Catia bin ich noch Neulig, diese muss aber wahrscheinlich hier zum Einsatz kommen.

Die Steuerung der Spirale funktioniert soweit. Auch die Punkte kann ich mit der "Points and Plane Repetition" äuquidistant setzten.
Erstes Problem dabei ist, dass man für die Punktezahl (Instances) keine Funktion und damit keinen Parameter eingeben kann.
Dabei würde ich die Punkteanzahl aus der Bahnlänge der Spirale/Eingabeparameter für die Lochabstände ermitteln.

Ich hoffe es mit dem Link, den du eben gepostet hast, hinzubekommen 

vielen Dank und viele Grüße
Aljoscha

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 29. Dez. 2015 17: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 nochmal,

danke Joe nochmal für die Lösung, die eigentlich genau mein Problem beschreibt, für einen Laien in Visual Basic ist sie leider nur schwer nachvollziehbar.

Ich habe mir also nochmal Gedanken gemacht und dachte an eine Lösung mittels Knowledge Pattern.
Folgender Code erzeugt mir zumindest mal automatisch Punkte auf der parametrisierten Spirallänge.

let i (Integer)
let pt (Point)

i=1
for i while i<= Punktanzahl_Spirale
{
pt =  CreateOrModifyDatum("point",Punkte_Spirale ,`Relations\Knowledge Pattern.1\List.1` ,i)
pt = pointoncurveRatio(Punkte_Spirale\Spiral.1 ,Sicherheitskreise\Mittelpunkt_gr_Sicherheitskreis,i/Punktanzahl_Spirale ,true)

i=i+1
}

Mein Problem sind jetzt besonders die fehlenden Begrifflichkeiten für die Programmiersprache. Ich dachte mir, eine direkte Messung des Punktabstandes vom Mittelpunkt des Schalldämpfers. Man könnte dann für den Fall des äußeren Sicherheitsbereiches schreiben: Wenn der Radius des Messergebnisses größer als der Radius des Sicherheitsbereiches ist, dann soll der Punkt gelöscht werden.

Wie kann man die Radiusmessung und das Löschen des Punktes ausdrücken?

Im Folgenden noch ein erster Ansatz:

let i (Integer)
let pt (Point)
let r (LENGTH)

i=1
for i while i<= Punktanzahl_Spirale
{
pt =  CreateOrModifyDatum("point",Punkte_Spirale ,`Relations\Knowledge Pattern.1\List.1` ,i)
pt = pointoncurveRatio(Punkte_Spirale\Spiral.1 ,Sicherheitskreise\Mittelpunkt_gr_Sicherheitskreis,i/Punktanzahl_Spirale ,true)

r = distance(Sicherheitskreise\Mittelpunkt_gr_Sicherheitskreis ,pt)

if r >= Radius_Sicherheitsabstand_aussen
{}


i=i+1
}


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: 29. Dez. 2015 17:22    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 AjoschaKoch 10 Unities + Antwort hilfreich

Hi Ajoscha,

womit Du genau das machen willst, was mein Makro tut.
- betrachteten Kreis mit Mittelpunkt festlegen
- zulässigen Abstand definieren
- Abstand der Punkte von der Kreismitte bestimmen
- 'falsche' Punkte löschen/verstecken

- nächster Kreis
- ...

Nur mit Knowledge Advisor kann ich Dir nicht weiterhelfen.

Wer kennt die Syntax?

Tschau,
Joe

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

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: 29. Dez. 2015 17:53    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 AjoschaKoch 10 Unities + Antwort hilfreich

Servus Ajoscha
Leider kenne ich mich auch nicht so gut mit der Knowlegware Programmierung aus.
Meine Idee dazu: ggf kannst du in der Schleife nach dem erzeugen des Punktes, die Messung durchführen und bei Bedarf den aktuellen Punkt deaktivieren.

Gruß
Bernd

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 29. Dez. 2015 18: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

Stimmt Joe, ich habe dein Makro als Anregung genommen. Leider Fehlen mir aber die Programmierkenntnisse um das Makro bei meinem Modell zum Laufen zu bringen. Habe heut mal den Tag über rumgeknobelt, aber bisher klappt es nicht.

@Bernd: Ja so dachte ich mir das. Es mangelt jetzt nur an den Begriffen für die Eingabe ins System  ... Habe bisher einige Eingaben erfolglos ausprobiert.

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: 29. Dez. 2015 18: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 Nur für AjoschaKoch 10 Unities + Antwort hilfreich

Hi Ajoscha,

stell das Modell mal hier rein(falls es V5 ist).

Tschau,
Joe

PS: Bei der Gelegenheit wäre der Standardhinweis:

'Bitte Systeminfo ausfüllen' (->Profil)

angebracht.

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 29. Dez. 2015 19: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

Hi Joe,

das Modell ist leider in Catia V6 programmiert -.-

viele Grüße

Aljoscha

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 29. Dez. 2015 19: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 Nur für AjoschaKoch 10 Unities + Antwort hilfreich

Hi Aljoscha,

ich würde evtl. folgendes machen:
- ein zweites Knowledges Pattern erstellen (Reihenfolge des Ablauf beachten)
- zweites KWE Pattern durch die Punkte laufen lassen

Grober Ablauf (Ich habe leider gerade kein CATIA):

Code:
let point1(point)
...
..

point1 = ...PointsList->GetItem(i)   `PointsList aus den erstem KWE Pattern
if distance(point1; ....) > ...
{
point1.Activity = False
}



[Diese Nachricht wurde von imation1999 am 29. Dez. 2015 editiert.]

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

moppesle
Ehrenmitglied V.I.P. h.c.
Konstrukteur


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

Beiträge: 3418
Registriert: 28.05.2009

CATIA V5 R19 SP9
WIN 7 64bit

erstellt am: 29. Dez. 2015 19:49    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 AjoschaKoch 10 Unities + Antwort hilfreich

Hallo AjoschaKoch,

Zitat:
Es mangelt jetzt nur an den Begriffen für die Eingabe ins System


Hier mal ein Überblick.

------------------
Gruß Uwe

Auch Catia ist nur ein Mensch!    

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: 29. Dez. 2015 20:01    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 AjoschaKoch 10 Unities + Antwort hilfreich

Servus
Leider handelt es sich bei den Punkten um isolierte Punkte, diese lassen sich nicht deaktivieren. Deshalb würde das Ausblenden gehen (oder gleich die Bohrungen erzeugen?):
Code:
let i (Integer)
let pt (Point)

i=1

for i while i<=PunkteAnzahlAufSpirale
{
pt =  CreateOrModifyDatum("point",PunktAufSpirale\PunktAufSpirale_1  ,Beziehungen\Knowledgemuster.1\Punktliste  ,i)

pt = pointoncurveRatio(Input\Spirale.1,Input\UrspungSpirale ,i/PunkteAnzahlAufSpirale  ,true)

if distance(pt, Input\UrspungKreis ) <= RaduisSperrflaeche
{
pt.Show  = false
}

i=i+1}


Gruß
Bernd

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 29. Dez. 2015 20: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


f2080f31-47e6-44da-ac76-283804ea4ba9.jpg

 
Danke Bernd, dein Tipp war super!

es klappt jetzt alles soweit (siehe Anhang)

Jetzt müssen nur noch die Löcher rein und es sollte alles passen.

Grüße

Aljoscha

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: 29. Dez. 2015 20:59    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 AjoschaKoch 10 Unities + Antwort hilfreich


spiralgrid.PNG

 
Kurz das angepasste Makro. Die Objektnamen stehen im Bild:

Code:

Const strMacroName As String = "TrimSpiralGrid"
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 SPA_WB As Workbench
  Dim oCPoint As Measurable                              'representing center of the circle
  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

  oSel.Search "'Generative Shape Design'.Point;in"                    'select points in grid

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

  'delete points outside large circle
  Set oPtCenter = oADP.FindObjectByName("SICHERHEITSKREISE_MITTELPUNKT_GR_SICHERHEITSKREIS")
  Set oOuterCircle = oADP.FindObjectByName("SICHERHEITSKREISE_SICHERHEITSKREIS_GR")
  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
      Set oRef = oSel.Item2(n).Reference
      '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 circle01
  Set oPtCenter = oADP.FindObjectByName("pt.Ctr_Pipe01")
  Set oInnerCircle = oADP.FindObjectByName("Pipe01")
  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
      Set oRef = oSel.Item2(n).Reference
      '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"

  'delete points from inner circle02
  Set oPtCenter = oADP.FindObjectByName("pt.Ctr_Pipe02")
  Set oInnerCircle = oADP.FindObjectByName("Pipe02")
  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
      Set oRef = oSel.Item2(n).Reference
      '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 circles", 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
      Set oRef = oSel.Item2(n).Reference
      '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
  Debug.Print "Finished creating circles"
 
  oSel.Clear
  oADP.Update
  CATIA.RefreshDisplay = True
  oADP.Update
  DoEvents
End Sub



Es handelt sich um ein im VBA-Editor erstelltes Makro, also kein CatScript.
Könnte aber in ein solches umgewandelt werden. Dann aber ohne 'Debug.Print' - Anweisungen.

Tschau,
Joe

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 29. Dez. 2015 21: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

Danke Joe, das bringe versuch ich gleich mal zum laufen zu bringen

viele Grüße

Aljoscha

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 11:36    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


Measurable_Error.JPG


Lochkreise_Lochabstand8mm_Lochdurchmesser4mm.JPG


Lochkreise_Lochabstand5mm_Lochdurchmesser4mm_ohne_Loeschen_der_alten_elemente.JPG

 
Guten Morgen zusammen,

beim VBA-Code gibt es einen Error aufgrund der Variablendefinition "as Measurable"(siehe Anhang). Ich habe bereits gegoogled, aber keine ähnlichen Probleme gefunden.

Das Knowlegpattern von gestern funktioniert soweit. Es müssen allerdings vor jedem Update alle generierten Lochkreise und Punkte wieder gelöscht werden.
Da es sich ja nicht um ein Löschen der Kreise handelt, sondern nur um Verstecken, funktioniert es mit der Parameteränderung sonst nicht (Ergebnis bei nicht Löschen der zuvor generierten Elemente, siehe Anhang 2, 3).
Gibt es einen Befehl für das Knowlege Pattern, der die Elemente aus einem GeometricalSet automatisch vor jedem Update löscht?

Außerdem ist es auch etwas komisch, dass jeder Punkt eine laufende Nummer bekommt und beim Löschen eines Punktes die Nummer nicht mehr neu vergeben wird. D.h. man hat immer höhere Punktenummern, je öfter man die Kreise updated.

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. Dez. 2015 12:41    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 AjoschaKoch 10 Unities + Antwort hilfreich


references.PNG

 
Hi Ajoscha,

prüf bitte, ob Du alle erf. Referenzen angezogen hast.
(-> vba/Tools/References...)

Siehe auch:

https://support.microsoft.com/en-us/kb/289664

Tschau,
Joe

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

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. Dez. 2015 13:17    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 AjoschaKoch 10 Unities + Antwort hilfreich

Zitat:

Außerdem ist es auch etwas komisch, dass jeder Punkt eine laufende Nummer bekommt und beim Löschen eines Punktes die Nummer nicht mehr neu vergeben wird. D.h. man hat immer höhere Punktenummern, je öfter man die Kreise updated.

Das liegt an der internen Buchführung von Catia.
Neu erzeugtes Element -> neue ID.

Tschau,
Joe

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

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: 30. Dez. 2015 13: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 Nur für AjoschaKoch 10 Unities + Antwort hilfreich


KnowledgwarePattern.PNG

 
Servus Ajoscha
Schau dir mal beim Knowlegpattern die Optionen an.

Gruß
Bernd

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 14: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

Das war ja, eine einfache Lösung :O und ich dachte man müsste vor der Schleife immer alle Elemente die im GeometricalSet generiert wurden, löschen.

Jetzt fehlt nur noch eine Sache: gibt es auch eine Syntax um direkt aus den Kreisen Löcher zu generieren?


vielen Dank!!!und viele Grüße

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: 30. Dez. 2015 14:39    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 AjoschaKoch 10 Unities + Antwort hilfreich

Servus
Schau mal in die Doku und tets mal rum: ggf kannst du über "CreateOrModifyTemplate" zB eine Musterbohrung über das Pattern vervielfältigen.

Gruß
Bernd

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 16:09    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: Problem dabei wäre, dass es keine dauerhafte Bohrung gibt. Im Endeffekt soll zwischen 3 verschiedenen Bohungsmustern gewählt werden können. So weit ich das verstanden habe, wäre dein Ansatz gut geeignet wenn es zumindest eine statische Bohrung gäbe.

viele Grüße!

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: 30. Dez. 2015 16:48    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 AjoschaKoch 10 Unities + Antwort hilfreich

Servus
Schau dir mal das Beispiel mit dem Pattern und dem UDF bzw der CoperCopy aus der Doku an.
Oder du hast jedes Part in Part, und nur der Körper bzw das Pattern wird deaktiviert.
Vielleicht hilft das weiter.

Gruß
Bernd

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

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


Spiralmuster.JPG

 
meinst du mit Doku den Catia Help Guide(sorry, bin leider noch Anfänger )?

grade ist mir noch eingefallen: Falls es einen Code für zum trimmen des Kreisinhaltes gibt, könnte man den ja in die Schleife, welche die Löcher generiert einbauen...später beim Aufdicken wären es ja dann Löcher.

viele Grüße
Aljoscha

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 18: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

Man müsste es mit einer ähnlichen UDF wie hier https://www.youtube.com/watch?v=-h7rRYcQhtU machen können. Im vorliegenden Falle müsste es allerdings dann ein Split sein, anstatt dem "bead". Hat jemand eine Idee wie man das im Programm abbilden kann??


viele Grüße
Aljoscha

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

imation1999
Mitglied
dipl.-ing. Maschinenbau


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

Beiträge: 276
Registriert: 02.08.2011

Dell Precision T3500
Intel® Xeon® Quad Core
NVIDIA Quadro® 5000
Win7 x64 Ultimate
CATIA V5 R20 SP2

erstellt am: 30. Dez. 2015 19:17    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 AjoschaKoch 10 Unities + Antwort hilfreich

Zitat:
Im Endeffekt soll zwischen 3 verschiedenen Bohungsmustern gewählt werden können.

Was wären die 3 verschiedenen Bohrungsmuster?

[Diese Nachricht wurde von imation1999 am 30. Dez. 2015 editiert.]

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 19:25    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

ich werde noch ein rectangular pattern machen und das dritte hab ich noch nicht überlegt ... Es ist eigentlich egal, es sollen nur 3 Muster erzeugt werden.

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 19:27    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

ich denke mal wenn das erste Muster läuft dürften die anderen kein Problem mehr sein

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 20: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

Die UDF scheint nicht für den Split zu funktionieren. Hat keiner eine Idee? Die Löcher bringen mich hier noch zur Verzweiflung-.-

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: 30. Dez. 2015 21: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 AjoschaKoch 10 Unities + Antwort hilfreich

Servus
Warum einen Split?
Ich würde in der UDF/PowerCopy eine Bohrung "ablegen", die als Input den Punkt hat.
(nicht getestet, hab zu wenig Erfahrung mit der WB)

Gruß
Bernd

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 30. Dez. 2015 21: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

Sowohl mit Bohrung, als auch mit Pocket hab ichs auch nicht hinbekommen mit der UDF. -.-

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 01. Jan. 2016 14: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

Frohes neues Jahr euch allen!

Ich habe eine neue Idee zum Problem:

Kann man vielleicht mit einer Syntax im Knowlegde Pattern die Kreise, welche mit .Show=false versteckt wurden, einem anderen Geometrical Set zuordnen als die anderen, sichtbaren Kreise?

Dann könnte ich das Problem über einen Join des Geometrical Set-Inhaltes lösen .

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 01. Jan. 2016 15:43    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


UDF_error.JPG

 
Hier mal der Error, welcher angezeigt wird wenn man den Generate-Button, bei einer Bohrung als UDF, drückt.

Möglicherweise kann ja jemand was damit anfangen und kennt einen Ausweg.

viele Grüße

Aljoscha

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: 01. Jan. 2016 16:39    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 AjoschaKoch 10 Unities + Antwort hilfreich


spiraldemo.PNG


SpiralDemo.zip

 
Hi Ajoscha,

ich hab zum Spass das Makro noch vervollständigt.
Ausserdem hab ich das Modell umgestaltet. Der Grundkörper ist jetzt aus Solids aufgebaut
und beinhaltet einen Abzugskörper der mit den Pads der Bohrungen gefüllt wird.

Tschau,
Joe

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 01. Jan. 2016 18: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

Danke Joe, leider funktioniert das öffnen von .Cadpart nicht mit meinem Account (siehe Anhang).


ich habe noch etwas an meinem Pattern rumgegrübelt und bin zu folgendem Schluss gekommen: ich werde die versteckten Elemente und die nicht versteckten in der Schleife auf verschiedene Geometrical Sets verteilen. Diese Joine ich und mache daraus Pockets.

Bei meinem Quellcode funktioniert es bisher, die versteckten Löcher in den Durchzügen einem anderen Geometrical set zuzuordnen. Bei den Löchern am Rand klappt es noch nicht. Ich stelle mal meinen Code hier rein - vielleicht erkennt jemand meinen Fehler.


if distance(pt, `Geometrical Set\Sicherheitsabstaende\Sicherheitskreise\Mittelpunkt_gr_Sicherheitskreis`  ) >=HILFSparameter\Radius_Sicherheitsabstand_aussen
{
c = CreateOrModifyDatum("circle",`Geometrical Set\V1\Lochkreise_hide`  ,`Relations\Knowledge Pattern.1\List.2` ,i)
}
if distance(pt, `Geometrical Set\Sicherheitsabstaende\Sicherheitskreise\Mittelpkt_Durchzug_1`  ) <= HILFSparameter\Radius_Sicherheitsabstand_Durchzug
{
c = CreateOrModifyDatum("circle",`Geometrical Set\V1\Lochkreise_hide`  ,`Relations\Knowledge Pattern.1\List.2` ,i)

}
if distance(pt, `Geometrical Set\Sicherheitsabstaende\Sicherheitskreise\Mittelpkt_Durchzug_2`  ) <= HILFSparameter\Radius_Sicherheitsabstand_Durchzug
{
c = CreateOrModifyDatum("circle",`Geometrical Set\V1\Lochkreise_hide`  ,`Relations\Knowledge Pattern.1\List.2` ,i)

}
else {c = CreateOrModifyDatum("circle",`Geometrical Set\V1\Lochkreise`  ,`Relations\Knowledge Pattern.1\List.2` ,i)}

c=circleCtrRadius(pt,`yz plane` ,EINGABEparameter\Grundmodell\Lochdurchmesser  /2,0,0deg,360deg)

/*kreise verstecken*/

if distance(pt, `Geometrical Set\Sicherheitsabstaende\Sicherheitskreise\Mittelpunkt_gr_Sicherheitskreis`  ) >=HILFSparameter\Radius_Sicherheitsabstand_aussen
{
c.Show  = false
}
if distance(pt, `Geometrical Set\Sicherheitsabstaende\Sicherheitskreise\Mittelpkt_Durchzug_1`  ) <= HILFSparameter\Radius_Sicherheitsabstand_Durchzug
{
c.Show  = false
}
if distance(pt, `Geometrical Set\Sicherheitsabstaende\Sicherheitskreise\Mittelpkt_Durchzug_2`  ) <= HILFSparameter\Radius_Sicherheitsabstand_Durchzug
{
c.Show  = false
}


viele Grüße

Aljoscha

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: 01. Jan. 2016 20:50    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 AjoschaKoch 10 Unities + Antwort hilfreich

>>siehe Anhang

Ich seh aber nix.

Tschau,
Joe

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 01. Jan. 2016 21:15    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


Bild6.jpg


Bild5.jpg

 
oh, du hast recht - der Anhang kommt jetzt hier

viele Grüße

Aljoscha

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: 01. Jan. 2016 21:49    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 AjoschaKoch 10 Unities + Antwort hilfreich

V5 Import sollte gehen. Siehe hier:

https://grabcad.com/questions/how-to-open-a-catpart-file-of-catia-v5-in-v6

Tschau,
Joe

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

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

AjoschaKoch
Mitglied
Student


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

Beiträge: 24
Registriert: 20.12.2015

Catia V6

erstellt am: 04. Jan. 2016 13: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


001.JPG


002.JPG


003.JPG

 
@Bernd:

hier die Bilder zur UDF!
Gruß

Aljoscha

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: 04. Jan. 2016 13: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 AjoschaKoch 10 Unities + Antwort hilfreich

Servus
Schon mal in der UDF (Bild 2): bei SuperTyp: "Auto" und bei Type1: "Generate" geklickt?
Dann sollte dieser Typ (dessen Name du frei vergeben kannst) erstellt werden.

Gruß
Bernd

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

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