Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Frage zu faceDumbRule

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
Autor Thema:  Frage zu faceDumbRule (715 mal gelesen)
Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

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

hallo zusmmane

frage zu einem 2-teiligen programm:

part 1: alle zylindrischen flächen in teil suchen
part 2: alle flächen optiomieren mit synchronous

frage: was muss genau bei "faceDumbRule12" als imput rein?
hab mal alles einzeln schritt für schritt gemacht, um das zu verstehen....aber:
ich verstehe das mit "faces12" nicht ganz...

wer kann helfen?
danke!


' -------------------

Option Strict Off

Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports NXOpen
Imports NXOpen.UF

Module Module1

Sub Main()

Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim lw As ListingWindow = theSession.ListingWindow

lw.Open()

' part 1

Dim selected_faces As New List(Of Face)

For Each myBody As Body In workPart.Bodies

For Each tempFace As Face In myBody.GetFaces

If tempFace.SolidFaceType = Face.FaceType.Cylindrical Then

selected_faces.Add(tempFace)

End If

Next

Next

'For Each current As Face In selected_faces
' lw.WriteLine("liste: " + current.ToString)
'Next

' part 2

Dim optimizeFaceBuilder1 As Features.OptimizeFaceBuilder
optimizeFaceBuilder1 = workPart.Features.CreateOptimizeFaceBuilder()
optimizeFaceBuilder1.DistanceTolerance = 0.0254
optimizeFaceBuilder1.CleanBody = False
optimizeFaceBuilder1.Report = False

Dim faces12(11) As Face

Dim face1 As Face = selected_faces(3)
Dim face2 As Face = selected_faces(9)
Dim face3 As Face = selected_faces(4)
Dim face4 As Face = selected_faces(0)
Dim face5 As Face = selected_faces(8)
Dim face6 As Face = selected_faces(7)
Dim face7 As Face = selected_faces(10)
Dim face8 As Face = selected_faces(2)
Dim face9 As Face = selected_faces(6)
Dim face10 As Face = selected_faces(11)
Dim face11 As Face = selected_faces(1)
Dim face12 As Face = selected_faces(5)

faces12(0) = face1
faces12(1) = face2
faces12(2) = face3
faces12(3) = face4
faces12(4) = face5
faces12(5) = face6
faces12(6) = face7
faces12(7) = face8
faces12(8) = face9
faces12(9) = face10
faces12(10) = face11
faces12(11) = face12

Dim faceDumbRule12 As FaceDumbRule

' was ist "faces12" genau für ein Typ?
faceDumbRule12 = workPart.ScRuleFactory.CreateRuleFaceDumb(faces12)

Dim rules12(0) As SelectionIntentRule
rules12(0) = faceDumbRule12

optimizeFaceBuilder1.FacesToOptimize.ReplaceRules(rules12, False)

Dim nXObject1 As NXObject
nXObject1 = optimizeFaceBuilder1.Commit()
optimizeFaceBuilder1.Destroy()

End Sub

End Module

------------------
gruss urs  

[Diese Nachricht wurde von Sirus am 15. Sep. 2015 editiert.]

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

matthias-p
Moderator
Konstruktion / Anwenderbetreuung


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

Beiträge: 501
Registriert: 09.06.2006

Teamcenter 11.3 / NX 11
Windows 10

erstellt am: 15. Sep. 2015 13:04    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 Sirus 10 Unities + Antwort hilfreich

Hallo Sirius,

da sind wir wieder bei den Grundlagen ;-)

faces12 ist ein Array von Faces.
Also eine Auflistung so wie du es mit der generischen Liste List<Faces> gemacht hast.

Ein Array hat gegenüber einer Liste den Nachteil, dass es eine festgelegt Größe hat. In deinem Fall passen in das Array 12 Flächen rein. Vorteil ist natürlich, ein Array ist etwas schneller und kleiner im Speicherbedarf, beides spielt aber bei den Größenordnungen keine Rolle.

Deine generische Liste die du oben erstellst (Dim selected_faces As New List(Of Face)) hat eine Methode die da heisst .ToArray().

Diese kannst du dann unten anstatt faces(12) zuweisen.

Aber wie gesagt, dass sind wirklich Grundlagen von VB und haben nichts mit NX zu tun... ;-)

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

mseufert
Moderator
Freiberuflicher CAD/CAM Ingenieur


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

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-1980
3D Printer Prusa MK2 S

erstellt am: 15. Sep. 2015 14: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 Nur für Sirus 10 Unities + Antwort hilfreich


UserRequirements.jpg

 
Zitat:
da sind wir wieder bei den Grundlagen ;-)

... da passt der Anhang ganz gut dazu ...

Gruß, Michael

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



Elektroniker mit Meister/ Techniker für den Bereich Sekundärkonstruktion (m/w/d)
TenneT ist ein führender europäischer Netzbetreiber, der sich für eine sichere und zuverlässige Stromversorgung einsetzt - 24 Stunden am Tag, 365 Tage im Jahr. Wir gestalten die Energiewende für eine nachhaltige Energiezukunft. Als erster grenzüberschreitender übertragungsnetzbetreiber planen, bauen und betreiben wir ein fast 25.000 Kilometer langes Hoch- und Höchstspannungsnetz in den Niederlanden ...
Anzeige ansehenElektrotechnik, Elektronik
Sirus
Ehrenmitglied
CAD Applikationsentwickler


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

Beiträge: 1564
Registriert: 03.06.2004

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

@matthias-p
vielen dank!

------------------
gruss urs  

[Diese Nachricht wurde von Sirus am 15. Sep. 2015 editiert.]

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