| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: VB AttachedPropertyTables (356 mal gelesen)
|
progi Mitglied Programmierer
Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 03. Nov. 2004 12:53 <-- editieren / zitieren --> Unities abgeben:
Hi, hat einer schon mal eine AttachedPropertyTables mit vb hinzugefügt? Eventuell ein Beispiel? Bei mir kommt immer unbekannter Fehler Mein Code, vb.net: ... oFace = oFaces.Item(1) aObject(0) = oFace iFilter(0) = SolidEdgePart.PropertyFilterTypeConstants.sePropertyFilterTypeFeatureFaces Dim oPropertyTableDefinition As SolidEdgePart.PropertyTableDefinition Dim oPropertyTableDefinitionFB As SolidEdgePart.PropertyTableDefinition For Each oPropertyTableDefinition In CType (oDoc.PropertyTableDefinitions, IEnumerable) If oPropertyTableDefinition.Name = csPropertieTableName Then oPropertyTableDefinitionFB = oPropertyTableDefinition Exit For End If Next If oPropertyTableDefinitionFB Is Nothing Then oPropertyTableDefinitionFB = oDoc.PropertyTableDefinitions.Add (csPropertieTableName) End If Dim oAttTable As SolidEdgePart.AttachedPropertyTable Dim aiFilter As System.Array Dim aoObject As System.Array Dim i As Integer i = 1 aiFilter = CType(iFilter, System.Array) aoObject = CType(aObject, System.Array) oAttTable = oDoc.AttachedPropertyTables.Add(oPropertyTableDefinitionFB, i, aiFilter, aoObject, csPropertieTableName) '-> "unbekannter" Fehler Gruß Andreas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 03. Nov. 2004 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für progi
|
progi Mitglied Programmierer
Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 03. Nov. 2004 14:38 <-- editieren / zitieren --> Unities abgeben:
Hi Klaus, habe ich gerade ausprobiert. 1 based gibt es soweit ich weis nicht mehr in vb.net. Ich habe mal 1 eingesetzt, es gab das gleiche Ergebnis, vielleicht probiere ich es mal im guten alten vb 6. Hast Du die Funktion "AttachedPropertyTables..Add" schon mal eingesetzt? Gruß Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 03. Nov. 2004 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für progi
nein, habe ich noch nicht. Ja, richtig mit VB.Net ist alles zero-based aber vielleicht weiss das UGS noch nicht ;-) Nebenbei: zero-based ist ein 'alter Zopf' den man besser abgeschnitten haette aber die C (und andere) Programmierer haengen so dran ... Was VB.Net hiereaus macht weiss ich nicht: aiFilter = CType(iFilter, System.Array) aoObject = CType(aObject, System.Array) ist jetzt aiFilter(0) das erste Element? geht es nicht in .Net der SE methode den iFilter und das aObjekt mit zugeben oder ist der Cast zwingend. Aber selbst dann waer's 0-based .. nur vielleicht versteht Se es dann Fazit: momentan einiges an Problemen mit VB.Net .. Klaus
[Diese Nachricht wurde von modeng am 03. Nov. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer
Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 03. Nov. 2004 16:03 <-- editieren / zitieren --> Unities abgeben:
Hi Klaus, habe jetzt auch mal in vb 6 was probiert. Geht leider auch nicht! Die cast habe ich nur gemacht, da immer irgendwelche Fehler kamen. Also ohne klappte das auch nicht. Anbei meinen Versuch. Falls Du Zeit hast kannst ja mal kurz rein kucken. Das Programm setzt ein Part mit einem Cutout voraus. Beste Dank Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 03. Nov. 2004 21:04 <-- editieren / zitieren --> Unities abgeben: Nur für progi
Moin, es wurden Faces gesucht (Query) aber der Filter ging auf FeatureFaces - Objekt Tabelle fuer Zuordnung = Faces-Objekte - Filter bringt nur FeatureFaces das geht nicht: der iFilter() wirkt auf die aObject() und waehlte nur FeatureFaces aber es waren nur Faces-Objekte enthalten. Ergebnis also 0 Objekte zum Zuordnen. Das geaenderte Stueck coding anbei. (Den i habe ich durch Direktwert = 1 ersetzt was auch geht) Set aObject(1) = oExtrudedCutout.Faces(igQueryPlane).Item(1) iFilter(1) = sePropertyFilterTypeFace ' war --> sePropertyFilterTypeFeatureFaces Set oAttTable = oDoc.AttachedPropertyTables.Add(oPropertyTableDefinitionFB, 1, _ iFilter, aObject, csPropertieTableName) so lief das dann. Nebenbei (sollte bekannt sein): Dim Objekte innerhalb eines If sind nach dem If nicht mehr vorhanden (Wie in C und JAVA ...) Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer
Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 04. Nov. 2004 07:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Klaus, besten Dank für Deine Bemühungen. (10 Units habe ich geklickt, dabei kam es auch zu einem Fehler, aber das sind dann nicht meine -)!) Bei mir hats auf jedenfall auch geklappt!! Ich habe das mal 0 based ausprobiert, klappt sowohl in vb.net wie auch in vb6. In vb.net trat zusätzlich noch folgendes Problem auf: oFace = oFaces.Item(1) aObject(0) = oFace <- führt dann bei AttachedPropertyTables.Add zum Fehler so gehts: aObject(0) = oFaces.Item(1) liegt wohl an den Übergabetypen. Also besten Dank. Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 04. Nov. 2004 08:07 <-- editieren / zitieren --> Unities abgeben: Nur für progi
Moin, na, dann kann ich mich ja wieder hinlegen ;-) Scheint so der uebliche Stil bei UGS zu sein: Raise Error ist einfach und setzt sich in der GUI fort "Operation failed" oder so aehnlich Nichtssagend. Hier war es nicht angebracht denn ich kann die Objekt-Tabelle mit diversen Objekten fuellen und ueber den Filter bestimme ich welche Objekte jetzt mit der AttachedTable bestueckt werden sollen (Mehrfachverwendung). Ergibt die Kombination Filter -- Objekt-tabelle = 0 Objekte so sollte der Rueck- gabewert NOTHING und nicht in einem Raise Error bestehen. Letzteres ist dann angebracht wenn der Methode Parameter uebergeben werden die eine Ausfuehrung definitiv verhindern (Tabellen ohne Inhalt, Nothing als Objekt etc.) Klaus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Matthias Leemann Mitglied Masch. Ing HTL
Beiträge: 393 Registriert: 03.10.2003 Windows 11 Pro Solid Edge 2022
|
erstellt am: 04. Nov. 2004 09:16 <-- editieren / zitieren --> Unities abgeben: Nur für progi
Hallo Zusammen, die Frage kommt ein bisschen spät, aber was kann man mit einer AttachedPropertyTables genau anfangen? Gruss Matthias ------------------ SE V15 SP7 SePropManager.NET von www.leemann-software.net Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
progi Mitglied Programmierer
Beiträge: 74 Registriert: 18.08.2004 VB.net SE 16
|
erstellt am: 04. Nov. 2004 10:08 <-- editieren / zitieren --> Unities abgeben:
Hi, so genau weis ich das nicht. Ich soll da CAM Daten einfügen. Man kann wohl an die Daten mit Geometrien verknüpfen. Das ganze wird oder soll von der Arbeitsvorbereitung genutzt bzw. die erleichtern. Gruß Andreas ------------------ Besten Dank Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
modeng Ehrenmitglied V.I.P. h.c.
Beiträge: 7061 Registriert: 10.12.2003
|
erstellt am: 04. Nov. 2004 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für progi
Moin, ist aehnlich den Properties fuer die Datei: hier kann man jedoch ergaenzende Daten an Flaechen, Kanten etc. eines Bauteils haengen. Die Tabellen koennnen auch standardisiert als Templates gespeichert werden und es lassen sich Abfragen darauf starten. Siehe Tools --> CustomProperties --> Table --> Help Oder allgemein SE --> Help Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |