Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  RangeBox Abmessungen in iProp

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 Autodesk Produkte
Autor Thema:  RangeBox Abmessungen in iProp (2946 mal gelesen)
rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 26. Jan. 2007 23: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

Ich habe in der AIS11-Hilfe nachfolgendes Beispiel gefunden.
Kann man die Abmessungen dieser RangeBox in drei benutzerdefinierte iProperties schreiben? Wenn ja, wo muß ich die abgreifen? Bin VB-Anfänger, daher bitte 1 Satz Erläuterung mehr schreiben.

Danke
rk


Public Sub DrawRangeBox()


     Dim oDoc As Document
     Set oDoc = ThisApplication.ActiveDocument

     ' Set a reference to component definition of the active document.
     ' This assumes that a part or assembly document is active.
     Dim oCompDef As ComponentDefinition
     Set oCompDef = ThisApplication.ActiveDocument.ComponentDefinition

     ' Make sure something is selected.
     If oDoc.SelectSet.Count = 0 Then
         MsgBox "You must select the object(s) to display the range
box."

         ' Delete any graphics, if they exist.
         On Error Resume Next
         Dim oExistingGraphicsData As GraphicsDataSets
         Set oExistingGraphicsData =
oDoc.GraphicsDataSetsCollection.Item("RangeBoxGraphics")
         If Err.Number = 0 Then
             On Error GoTo 0
             Dim oExistingGraphics As ClientGraphics
             Set oExistingGraphics =
oCompDef.ClientGraphicsCollection.Item("RangeBoxGraphics")
             oExistingGraphics.Delete
             oExistingGraphicsData.Delete
             ThisApplication.ActiveView.Update
         End If

         Exit Sub
     End If

     ReDim aoRanges(1 To oDoc.SelectSet.Count) As Box
     Dim iRangeCount As Long
     Dim i As Long
     On Error Resume Next
     For i = 1 To oDoc.SelectSet.Count
        Dim oBox As Box
         Set oBox = oDoc.SelectSet.Item(i).RangeBox
         If Err Then
             Err.Clear
             ' Special case for B-Rep entities.
             If oDoc.SelectSet.Item(i).Type = kFaceObject Or _
                oDoc.SelectSet.Item(i).Type = kFaceProxyObject Or _
                oDoc.SelectSet.Item(i).Type = kEdgeObject Or _
                oDoc.SelectSet.Item(i).Type = kEdgeProxyObject Then
                 ' Get the range from evaluator of the BRep object.
                 Set oBox = oDoc.SelectSet.Item(i).Evaluator.RangeBox
                 iRangeCount = iRangeCount + 1
                 Set aoRanges(iRangeCount) = oBox
             End If
         Else
             iRangeCount = iRangeCount + 1
             Set aoRanges(iRangeCount) = oBox
         End If
     Next
     On Error GoTo 0

     If iRangeCount = 0 Then
         MsgBox "You must pick object(s) that support a 3D RangeBox
property."
         Exit Sub
     End If

     ' Check to see if range box graphics information already exists.
     On Error Resume Next
     Dim oClientGraphics As ClientGraphics
     Dim oLineGraphics As LineGraphics
     Dim oBoxNode As GraphicsNode
     Dim oGraphicsData As GraphicsDataSets
     Set oGraphicsData =
oDoc.GraphicsDataSetsCollection.Item("RangeBoxGraphics")
     If Err Then
         Err.Clear
         On Error GoTo 0

         ' Set a reference to the transient geometry object for user
later.
         Dim oTransGeom As TransientGeometry
         Set oTransGeom = ThisApplication.TransientGeometry

         ' Create a graphics data set object. This object contains
all of the
         ' information used to define the graphics.
         Dim oDataSets As GraphicsDataSets
         Set oDataSets =
oDoc.GraphicsDataSetsCollection.Add("RangeBoxGraphics")

         ' Create a coordinate set.
         Dim oCoordSet As GraphicsCoordinateSet
         Set oCoordSet = oDataSets.CreateCoordinateSet(1)

         ' Create the client graphics for this compdef.
         Set oClientGraphics =
oCompDef.ClientGraphicsCollection.Add("RangeBoxGraphics")

         ' Create a graphics node.
         Set oBoxNode = oClientGraphics.AddNode(1)
         oBoxNode.Selectable = False

         ' Create line graphics.
         Set oLineGraphics = oBoxNode.AddLineGraphics

         oLineGraphics.CoordinateSet = oCoordSet
     Else
         Set oCoordSet = oGraphicsData.ItemById(1)
         Set oBoxNode =
oCompDef.ClientGraphicsCollection.Item("RangeBoxGraphics").ItemById(1)
     End If

     Dim dBoxLines() As Double
     ReDim dBoxLines(1 To 12 * 6 * iRangeCount) As Double
     For i = 0 To iRangeCount - 1
         Dim MinPoint(1 To 3) As Double
         Dim MaxPoint(1 To 3) As Double
         Call aoRanges(i + 1).GetBoxData(MinPoint, MaxPoint)

         ' Line 1
         dBoxLines(i * 72 + 1) = MinPoint(1)
         dBoxLines(i * 72 + 2) = MinPoint(2)
         dBoxLines(i * 72 + 3) = MinPoint(3)
         dBoxLines(i * 72 + 4) = MaxPoint(1)
         dBoxLines(i * 72 + 5) = MinPoint(2)
         dBoxLines(i * 72 + 6) = MinPoint(3)

         ' Line 2
         dBoxLines(i * 72 + 7) = MinPoint(1)
         dBoxLines(i * 72 + 8) = MinPoint(2)
         dBoxLines(i * 72 + 9) = MinPoint(3)
         dBoxLines(i * 72 + 10) = MinPoint(1)
         dBoxLines(i * 72 + 11) = MaxPoint(2)
         dBoxLines(i * 72 + 12) = MinPoint(3)

         ' Line 3
         dBoxLines(i * 72 + 13) = MinPoint(1)
         dBoxLines(i * 72 + 14) = MinPoint(2)
         dBoxLines(i * 72 + 15) = MinPoint(3)
         dBoxLines(i * 72 + 16) = MinPoint(1)
         dBoxLines(i * 72 + 17) = MinPoint(2)
         dBoxLines(i * 72 + 18) = MaxPoint(3)

         ' Line 4
         dBoxLines(i * 72 + 19) = MaxPoint(1)
         dBoxLines(i * 72 + 20) = MaxPoint(2)
         dBoxLines(i * 72 + 21) = MaxPoint(3)
         dBoxLines(i * 72 + 22) = MinPoint(1)
         dBoxLines(i * 72 + 23) = MaxPoint(2)
         dBoxLines(i * 72 + 24) = MaxPoint(3)

         ' Line 5
         dBoxLines(i * 72 + 25) = MaxPoint(1)
         dBoxLines(i * 72 + 26) = MaxPoint(2)
         dBoxLines(i * 72 + 27) = MaxPoint(3)
         dBoxLines(i * 72 + 28) = MaxPoint(1)
         dBoxLines(i * 72 + 29) = MinPoint(2)
         dBoxLines(i * 72 + 30) = MaxPoint(3)

         ' Line 6
         dBoxLines(i * 72 + 31) = MaxPoint(1)
         dBoxLines(i * 72 + 32) = MaxPoint(2)
         dBoxLines(i * 72 + 33) = MaxPoint(3)
         dBoxLines(i * 72 + 34) = MaxPoint(1)
         dBoxLines(i * 72 + 35) = MaxPoint(2)
         dBoxLines(i * 72 + 36) = MinPoint(3)

         ' Line 7
         dBoxLines(i * 72 + 37) = MinPoint(1)
         dBoxLines(i * 72 + 38) = MaxPoint(2)
         dBoxLines(i * 72 + 39) = MinPoint(3)
         dBoxLines(i * 72 + 40) = MaxPoint(1)
         dBoxLines(i * 72 + 41) = MaxPoint(2)
         dBoxLines(i * 72 + 42) = MinPoint(3)

         ' Line 8
         dBoxLines(i * 72 + 43) = MinPoint(1)
         dBoxLines(i * 72 + 44) = MaxPoint(2)
         dBoxLines(i * 72 + 45) = MinPoint(3)
         dBoxLines(i * 72 + 46) = MinPoint(1)
         dBoxLines(i * 72 + 47) = MaxPoint(2)
         dBoxLines(i * 72 + 48) = MaxPoint(3)

         ' Line 9
         dBoxLines(i * 72 + 49) = MaxPoint(1)
         dBoxLines(i * 72 + 50) = MinPoint(2)
         dBoxLines(i * 72 + 51) = MaxPoint(3)
         dBoxLines(i * 72 + 52) = MaxPoint(1)
         dBoxLines(i * 72 + 53) = MinPoint(2)
         dBoxLines(i * 72 + 54) = MinPoint(3)

         ' Line 10
         dBoxLines(i * 72 + 55) = MaxPoint(1)
         dBoxLines(i * 72 + 56) = MinPoint(2)
         dBoxLines(i * 72 + 57) = MaxPoint(3)
         dBoxLines(i * 72 + 58) = MinPoint(1)
         dBoxLines(i * 72 + 59) = MinPoint(2)
         dBoxLines(i * 72 + 60) = MaxPoint(3)

         ' Line 11
         dBoxLines(i * 72 + 61) = MinPoint(1)
         dBoxLines(i * 72 + 62) = MinPoint(2)
         dBoxLines(i * 72 + 63) = MaxPoint(3)
         dBoxLines(i * 72 + 64) = MinPoint(1)
         dBoxLines(i * 72 + 65) = MaxPoint(2)
         dBoxLines(i * 72 + 66) = MaxPoint(3)

         ' Line 12
         dBoxLines(i * 72 + 67) = MaxPoint(1)
         dBoxLines(i * 72 + 68) = MinPoint(2)
         dBoxLines(i * 72 + 69) = MinPoint(3)
         dBoxLines(i * 72 + 70) = MaxPoint(1)
         dBoxLines(i * 72 + 71) = MaxPoint(2)
         dBoxLines(i * 72 + 72) = MinPoint(3)
     Next

     ' Assign the points into the coordinate set.
     Call oCoordSet.PutCoordinates(dBoxLines)

     ' Update the display.
     ThisApplication.ActiveView.Update

End Sub


------------------
MfG
RK

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

Doc Snyder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



Sehen Sie sich das Profil von Doc Snyder an!   Senden Sie eine Private Message an Roland Schröder  Schreiben Sie einen Gästebucheintrag für Roland Schröder

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 27. Jan. 2007 22: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 rkauskh 10 Unities + Antwort hilfreich

Moin!

VBA kann ich auch nicht, aber Werte aus VBA heraus in die iProps zu schreiben ist eine oft anzutreffende Standardpraxis. Es gibt auch (allerdings nur bis IV10) ein Tool vom daywa1k3r, das genau diese Maße in ein iProp namens Rohmasze schreibt (Rohmasze sieht komisch aus, aber ß gibt nun mal immer noch zu oft Probleme, und Rohmasse bedeutet etwas völlig Anderes.)

Ich habe mir diesen Code hier angesehen und wundere mich über dieses 72-fache Array am Ende. Im Grunde sind es doch nur sechs Zahlenwerte, wie man da ja auch sehen kann. Kann man nicht einfach die Linien im 3D zwischen den acht Eckpunkten erzeugen? Wozu dieses Array?

------------------
Roland  
www.Das-Entwicklungsbuero.de

[Diese Nachricht wurde von Doc Snyder am 27. Jan. 2007 editiert.]

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 27. Jan. 2007 22:37    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 rkauskh 10 Unities + Antwort hilfreich

Moin Roland,

der Witz ist, dass das Makro die RangeBox mittels ClientGraphics zeichnet. Und da ist die Rechnung ganz einfach:

1. Es sind 3 Werte nötig um einen 3D Punkt zu definieren (x, y und z)
2. Es sind 2 Punkte nötig um eine Linie zu definieren
3. Es sind 12 Linien nötig um einen Quader zu zeichnen


------------------
Grüße Igor

FX64 Software Solutions

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

Doc Snyder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



Sehen Sie sich das Profil von Doc Snyder an!   Senden Sie eine Private Message an Roland Schröder  Schreiben Sie einen Gästebucheintrag für Roland Schröder

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 27. Jan. 2007 23: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 rkauskh 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von daywa1k3r:
Rechnung ganz einfach
Ah ja, jetzt wo Du's mir zeigst... Ist ja immerhin schon großes Einmaleins 

Wer ist denn diese ClientGrafik? Erfordert die solche redundanten Monster als Übergabeformat?

------------------
Roland  
www.Das-Entwicklungsbuero.de

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 27. Jan. 2007 23:35    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 rkauskh 10 Unities + Antwort hilfreich

ClientGraphics... "dynamic highlighting" kennst du ja. Das sind temporär gezeichnete Linie in dem Grafik Fenster. In dem Beispiel bleiben die aber bestehen, da die nicht gelöscht werden. Probier halt das Beispiel mal aus, dann siehst du was es macht. 

------------------
Grüße Igor

FX64 Software Solutions

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

Doc Snyder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



Sehen Sie sich das Profil von Doc Snyder an!   Senden Sie eine Private Message an Roland Schröder  Schreiben Sie einen Gästebucheintrag für Roland Schröder

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 28. Jan. 2007 00: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 Nur für rkauskh 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von daywa1k3r:
...dann siehst du was es macht.
Was es macht, weiß ich ja, aber nicht wie.

Ich wundere mich halt, warum man zum Darstellen einer Box, die ganze sechs Werte darstellt, das zwölffachen an Variablen übergeben muss. Ist das so, dass diese Funktion ganz primitiv nur eine Liste abarbeiten kann, in der in der Syntax "von - nach, von - nach, von - nach, ..." immer "xyzxyzxyzxyz..." stehen muss?

------------------
Roland  
www.Das-Entwicklungsbuero.de

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

Doc Snyder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



Sehen Sie sich das Profil von Doc Snyder an!   Senden Sie eine Private Message an Roland Schröder  Schreiben Sie einen Gästebucheintrag für Roland Schröder

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 28. Jan. 2007 00: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 rkauskh 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von rkauskh:
...wo muß ich die abgreifen?
Die Variablen zum Abgreifen stehen ja schon da: MaxPoint(1), MinPoint(1) usw.
Die Differenz müsste wohl die Länge in x-Richtung sein usw.
In cm übrigens!

------------------
Roland  
www.Das-Entwicklungsbuero.de

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

Doc Snyder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



Sehen Sie sich das Profil von Doc Snyder an!   Senden Sie eine Private Message an Roland Schröder  Schreiben Sie einen Gästebucheintrag für Roland Schröder

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 28. Jan. 2007 00: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 Nur für rkauskh 10 Unities + Antwort hilfreich

Hab probiert.
Und wie werd ich nun die blöden Boxen wieder los? 

------------------
Roland  
www.Das-Entwicklungsbuero.de

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 28. Jan. 2007 08: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 Nur für rkauskh 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Doc Snyder:
Hab probiert.
Und wie werd ich nun die blöden Boxen wieder los?  


           

Hallo Roland,

Inventor schliesssen ud wieder öffnen.... 

Du musst die ClientGraphic wieder löschen, etwa so (oCD ist die CompnentDefinition):

Private Sub cleanupGraphics()
 
  On Error Resume Next
  Set oGraphicsData = oDoc.GraphicsDataSetsCollection.Item("RangeBoxGraphics")

  If Err.Number = 0 Then
 
    On Error GoTo 0
   
    On Error Resume Next
    oGraphicsData.Delete
   
    On Error Resume Next
    oCD.ClientGraphicsCollection.Item("RangeBoxGraphics").Delete

    Call oApp.ActiveView.Update
       
  End If
 
End Sub

Hab's nicht probiert, müsste aber gehen

Grüsse, Paul

------------------
Grüsse, Paul

Inventor-Programmierung, Inventor-Tools und Inventor API-Schulung

thinkCAD Web-Kataloge

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

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

Hallo

Die Grafik kann man auch einfach löschen indem man das Makro nochmal laufen läßt, aber kein Baugruppe/-teil auswählt.
Gut, wenn das gängige Praxis ist in die iProps zu schreiben (hätt ich mir auch denken können), such ich mal nach einem Codeschnipsel und versuch das zusammen zu basteln.
Falls jemandem langweilig ist und dieser den unwiderstehlichen Drang verspürt mir die Arbeit abzunehmen - nur keine falsche Zurückhaltung. 

------------------
MfG
RK

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

Doc Snyder
Ehrenmitglied V.I.P. h.c.
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen



Sehen Sie sich das Profil von Doc Snyder an!   Senden Sie eine Private Message an Roland Schröder  Schreiben Sie einen Gästebucheintrag für Roland Schröder

Beiträge: 13115
Registriert: 02.04.2004

AIP2013SP2.2 XPproSP2 MS-IntelliMouse-Optical SpacePilot
DellM4600 2,13GHz 2GB FxGo1400 1920x1200
am Dock Dell2711

erstellt am: 28. Jan. 2007 22:03    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 rkauskh 10 Unities + Antwort hilfreich

Langeweile nun nicht gerade, aber da das mit den Suchworten oft einer Lotterie oder Schatzsuche gleicht und mich das Thema ja auch interessiert, wäre ich bereit, meine Beute mit Dir zu teilen:  http://ww3.cad.de/foren/ubb/Forum258/HTML/000220.shtml#000001 

------------------
Roland  
www.Das-Entwicklungsbuero.de

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 28. Jan. 2007 22:16    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

Danke für die Hilfe, der Link is notiert. Ich komme erst im Lauf der Woche dazu mich weiter mit dem Thema zu beschäftigen.
Ich geb Bescheid wie's ausgegangen ist.

------------------
MfG
RK

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 29. Jan. 2007 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


Macro_Packmasze.txt

 
Hallo

Hab mal ein bißchen gebastelt und hier ist mal eine erste Version.

Was kann sie?
- RangeBox um eine vorher gewählte Gruppe zeichnen
- Abmessungen der RangeBox in kleiner MessageBox anzeigen
- die drei Abmessungen als iProp "Länge", "Breite" und "Höhe" speichern bzw. wenn es die iProps schon gibt updaten
- RangeBox selbständig wieder löschen

Was kann sie nicht?
Es werden die iProps immer in die oberste Baugruppe geschrieben, egal ob man nur ein Part oder eine Unterbaugruppe gewählt hat. Die Abmessungen stimmen aber mit den gewählten Teilen überein.
Leider wird die oberste Baugruppe nicht automatisch gewählt, was die nervige Fehlermeldung ohne vorher gewählte Teile erzeugt.
Sehr wünschenswert wäre ein automatisches Erzeugen der iProps beim Speichern oder beim Aktualisieren der Ansicht.

Wem zu oben genanntem irgendwelche Tips einfallen bitte posten.

P.S.: Ich bin absoluter VB-Anfänger. Bitte verwendet dieses Tool nicht in Projekten deren Verlust euch schmerzen könnte. Danke

------------------
MfG
RK

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 27. Feb. 2007 01: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

Hallo

Ich hänge immer noch an der automatischen Auswahl der obersten Baugruppe. Wie kann ich der DIVAScherzhafte Bezeichnung für Inventor IV beibringen, das wenn nichts gewählt wurde und die aktuelle Datei eine iam ist, die Mutterbaugruppe gewählt wird?
Wenn eine Unterbaugruppe selektiert wurde sollen die Maße in die iProps der Unterbaugruppe geschrieben werden. Wie komm ich dort hin?

Gibt es außer der API-Übersicht noch eine andere Darstellung des Aufbaus / der Struktur einer Baugruppe bzw. eines Bauteils. Irgendetwas das einem Anfänger das Verständnis erleichtert?

------------------
MfG
RK

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

lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3794
Registriert: 15.02.2001

erstellt am: 08. Mrz. 2007 08: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 rkauskh 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von rkauskh:
...
Gibt es außer der API-Übersicht noch eine andere Darstellung des Aufbaus / der Struktur einer Baugruppe bzw. eines Bauteils. Irgendetwas das einem Anfänger das Verständnis erleichtert?


Jo,

Setze doch einfach mal einen Haltepunkt in einem Makro. Wenn Du dann auch noch die Überwachung für oDoc gesetzt hast, kannst Du Dir in Ruhe im Überwachungsfenster alles das Ansehen, was an Information im Document drin ist. Und einen Weg, wie Du daran kommst hast Du damit auch.

HTH

------------------
Gruß Lothar

---------------------------------------------------

Während man es aufschiebt, verrinnt das Leben.
Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 08. Mrz. 2007 17:55    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

Danke, das werd ich mal versuchen. Bin auch schon ein Stückchen weiter (und etliche graue Haare reicher   ). Auf die oberste Baugruppe greife ich mit

ThisApplication.ActiveDocument.BrowserPanes.ActivePane.TopNode.DoSelect

zu. Manchmal funktioniert es aber nicht. Ich vermute daher das ActivePane daran schuld ist. Was genau ist das eigentlich?

Die restlichen Subassemblies hole ich über Ihre Dateinamen und öffne sie in einem neuen Fenster. Danach kann ich über o.g. Methode wieder auf die Baugruppe zugreifen. Dann klappt es auch die Abmessungen in die richtigen iProperties zu schreiben.

Im Moment hänge ich an den verschachtelten If-Anweisungen. Kann man irgendwie steuern welches "End If" zu welchem "If" gehört? Bisher kannte ich es so das von "innen nach außen" geschlossen wird.

------------------
MfG
RK

[Diese Nachricht wurde von rkauskh am 08. Mrz. 2007 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