| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Threads don't modify . why? (384 mal gelesen)
|
bbsbbs Mitglied
Beiträge: 22 Registriert: 07.06.2004
|
erstellt am: 02. Jul. 2004 05:33 <-- editieren / zitieren --> Unities abgeben:
Please ,help me!? Dim objApp As SolidEdgeFramework.Application Dim objDoc As SolidEdgePart.PartDocument Dim objModel As SolidEdgePart.Model Dim objThreads As SolidEdgePart.Threads Dim objThread As SolidEdgePart.Thread Dim objHoleColl As SolidEdgePart.HoleDataCollection Dim objHoleData As SolidEdgePart.HoleData Dim objVars As SolidEdgeFramework.Variables Dim objVar1 As SolidEdgeFramework.Variable Const TESTFILE = "D:\2.par" ' Report errors Const PI = 3.14159265358979 ' Create/get the application with specific settings On Error Resume Next Set objApp = GetObject(, "SolidEdge.Application") 'If Err Then 'Err.Clear 'Set objApp = CreateObject("SolidEdge.Application") 'Set objDoc = objApp.Documents.Open(TESTFILE) Set objDoc = objApp.Documents.Open(Filename:=TESTFILE) ' Get the model object in the test case Set objModel = objDoc.Models(1) 'Get the Threads Object for the Model Set objThreads = objModel.Threads Set objThread = objThreads.Item(1) Set objVars = objDoc.Variables Set objHoleData = objThread.HoleData Dim m As Long Dim l As Long m = 20 l = 60 objHoleData.ThreadDescription = "sdfasd" objHoleData.ThreadExternalDiameter = m / 2000 objHoleData.ThreadNominalDiameter = m / 1000 objDoc.HoleDataCollection.Item(1).ThreadDescription = "sdf" objDoc.HoleDataCollection.Item(1).ThreadMinorDiameter = m / 1000 objDoc.HoleDataCollection.Item(1).ThreadNominalDiameter = m * 1.2 / 1000 objDoc.HoleDataCollection.Item(1).ThreadExternalDiameter = m / 1000 objDoc.Recompute Call objVars.Edit("M", m) Call objVars.Edit("l", l) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lars Ehrenmitglied V.I.P. h.c.
Beiträge: 4319 Registriert: 23.10.2000 Solid Edge
|
erstellt am: 02. Jul. 2004 11:47 <-- editieren / zitieren --> Unities abgeben: Nur für bbsbbs
Kannst Du nicht mal beschreiben, was Du erwartest von Deinem Quellcode? das wäre bestimmt für die Programmier im Forum besser, wenn die wissen, was Du willst. Grüße Lars P.S.: Trotzdem willkommen im Forum. 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: 02. Jul. 2004 11:50 <-- editieren / zitieren --> Unities abgeben: Nur für bbsbbs
|
Arne Peters Ehrenmitglied V.I.P. h.c. CAD Dokumentation / Training / Programmierung / Datenbanken
Beiträge: 7321 Registriert: 05.2002.24 Solid Edge Seminarunterlagen Training, Beratung, Programmierung
|
erstellt am: 02. Jul. 2004 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für bbsbbs
Sorry, but I have no problems with your code. It works. I used it as sub main() with a Part c:\Temp\Part1.par" I add the module. Change the Extension to .bas. Kind regards
------------------ APeters@BSS-Online.de 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: 02. Jul. 2004 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für bbsbbs
|
bbsbbs Mitglied
Beiträge: 22 Registriert: 07.06.2004
|
erstellt am: 05. Jul. 2004 02:50 <-- editieren / zitieren --> Unities abgeben:
I am sorry. The cold is incorrect up,This cold is right. ThreadNominalDiameter modified,but ThreadNominalDiameter don't modifide. Why? Dim objApp As SolidEdgeFramework.Application Dim objDoc As SolidEdgePart.PartDocument Dim objModel As SolidEdgePart.Model Dim objThreads As SolidEdgePart.Threads Dim objThread As SolidEdgePart.Thread Dim objHoleColl As SolidEdgePart.HoleDataCollection Dim objHoleData As SolidEdgePart.HoleData Dim objVars As SolidEdgeFramework.Variables Dim objVar1 As SolidEdgeFramework.Variable Const TESTFILE = "D:\2.par" ' Report errors Const PI = 3.14159265358979 ' Create/get the application with specific settings On Error Resume Next Set objApp = GetObject(, "SolidEdge.Application") 'If Err Then 'Err.Clear 'Set objApp = CreateObject("SolidEdge.Application") 'Set objDoc = objApp.Documents.Open(TESTFILE) Set objDoc = objApp.Documents.Open(Filename:=TESTFILE) ' Get the model object in the test case Set objModel = objDoc.Models(1) 'Get the Threads Object for the Model Set objThreads = objModel.Threads Set objThread = objThreads.Item(1) Set objVars = objDoc.Variables Set objHoleData = objThread.HoleData Dim m As Long Dim l As Long m = 20 l = 60 objHoleData.ThreadDescription = "sdfasd" objHoleData.ThreadNominalDiameter = m / 1000 objHoleData.ThreadExternalDiameter = m / 2000 'Don't modified, 'Please to *.dft see it. objDoc.Recompute Call objVars.Edit("M", m) Call objVars.Edit("l", l) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |