EPLM Add-On Center – Gyártási adatok kezelése I.
Többször felmerült a kérdés, hogyan lehet a már elkészült Solid Edge műhelyrajzokba további gyártási jellemzőket felvenni. Minden tervező már elkészítette magának a megfelelő Solid Edge műhelyrajz sablont, amiben benne vannak Tulajdonság szövegként (Property Text) a gyártási információk. De mi van akkor, ha a meglévő műhelyrajzokba új gyártási jellemzőt kell felvenni. Nem szeretnénk manuálisan minden egyes megnyitott műhelyrajzba új tulajdonság szövegeket felvenni a meglévő Solid Edge parancsokkal. Mi a megoldás?
Többek között ezért is készítettük el Az EPLM Add-On Center Solid Edge kiegészítést, ami ebben az esetben is használható. Előre definiálni lehet, hogy a megnyitott műhelyrajzban milyen tulajdonság szövegeket helyezzünk el, és azokat hová tegyük. Ez a bővítmény a “Tulajdonságok kezelése” nevet kapta és a Gold csomagban van benne.
Az EPLM Add-on Center további funkciói itt találhatóak.
Szeretettel
Ityu
Mi van a kosztüm alatt? Második rész
Ebben a posztban már írtam egy cikket a “Solid Edge ST4\Custom” mappájában található lemezszámítási lehetőségről. Ebben a cikkben megint csak bebújunk a “kosztüm” alá és megnézzük, hogy az anyagdefiníciós fájlt (material.mtl), hogyan tudjuk szerkeszteni.
Tehát, navigáljunk el a “Material Table Editor” mappába.
Ebben a mappában találunk egy “Bin Office 2007” és egy “Bin Office 2010” mappát. Attól függően, hogy milyen Microsoft Office csomaggal rendelkezünk nyissuk meg a megfelelő mappát. Tehát ha 2007-es Office csomaggal rendelkezünk, akkor a Bin Office 2007 mappából, ha 2010-es Office csomaggal rendelkezünk akkor a “Bin Office 2010” mappából indítsuk el a “MaterialTableEditor.exe” alkalmazást (Office2010 esetén ennek a neve: MaterialTableEditor Office 2010.exe)
Az alkalmazás elindítása után megjelenik a Solid Edge Material Library Editor párbeszéd ablak. Evvel az ablakkal kell dolgoznunk, hogy az anyagtáblázatot szerkeszteni tudjuk. Ez az alkalmazás a Solid Edge API-t valamint az Excell API-t (API – programozási interface) ahsznál arra, hogy az adatokat ki tudja olvasni a fájlból, és azok megjelenjenek Excellbe.
Tehát kattintsunk az Extract gombra, hogy az anyagtáblázatból kiolvassa a meglévő adatokat. Itt merülhet fel a kérdés, hogy milyen anyagtáblázatból?
Ha megnézzük a kódot, (az MTBuilder.vb fájlban, az MTBUilder.sln megoldásban)
Function GetMaterialFile() As Object
On Error Resume Next
Dim objInstallPath As SEInstallDataLib.SEInstallData
Dim strPath As String
objInstallPath = CreateObject("solidedge.installdata")
strPath = objInstallPath.GetInstalledPath
strPath = strPath & "\material.mtl"
If Dir(strPath) = "" Then
GetMaterialFile = ""
Else
GetMaterialFile = strPath
End If
End Function
, akkor a következőket láthatjuk:
- Létrehoz a CreateObject függvénnyel (CreateObject("solidedge.installdata")) egy Solid Edge installdata objektumot. Ez minden telepített Solid Edge-nél elérhető, és az objektumból lekérdezhető a Solid Edge verziószáma, valamint a telepítés mappájának a helye. Ez utóbbit “objInstallPath.GetInstalledPath” függvénnyel kérdezhetjük le.
- Ha megvan a telepítés mappája, akkor hozzácsapja a material.mtl fájlt. (strPath = strPath & "\material.mtl")
- Nem furcsa, én biztos, hogy a registry-t is megnézném, hogy milyen anyagtáblázat van beállítva a tervezőnek a Solid Edge beállítások panelen. (Valahogy így)
- Na mindegy, a következő posztban leírom, hogyan lehet ezt megcsinálni.
Tehát ott tartottunk, hogy rákattintunk az Extract gombra, ekkor a Temporary file location (XML File Name) mezőben megadott XML fájlba teszi bele a kiolvasott anyagokat.
A Browse paranccsal ezt a helyet meg is tudjuk változtatni. Vigyázzunk mert alapból a “Temp” után két “\\” jel van, ezt javítsuk ki egyre. Miért? A fejlesztő nem figyelt eléggé a kódra. Ha megnézzük a “MTBuilder_Load(..) “ eljárást, akkor abban láthatjuk a következő sort: “
strFilename = folderpath & "\SolidEdgeTempMaterialFile.xml"
Tehát az útvonalhoz hozzáteszi a fájlnevet, sőt még egy “\” is hozzátesz, ami felesleges, mert az előtte lévő sor,
folderpath = System.IO.Path.GetTempPath
visszaadja az átmeneti mappa helyét, és ráadásul odabiggyeszt egy “\” karaktert is.
Ha kiírta az XML fájlt, akkor annak tartalmát beolvassa az Excellbe.
Létrehoz 3 (Instruction, Materials, Sheetmetal) lap-ot, ahová beteszi az értékeket. Ezeket tudjuk szerkeszteni és új adatokat is fel tudunk venni.
Ha módosítottuk az adatokat vagy kiegészítettük azokat, akkor az Import parancs segítségével az Excellből visszaírhatjuk a “material.mtl” fájlba az adatokat.
A példaprogram igazából azért készült, hogy tanuljunk belőle! Bárki kedve szerint módosíthatja, kiegészítheti, lemagyaríthatja.
Módosítási lehetőségek:
- A material fájlt ne az alapértelmezett “\Solid Edge ST4\program” mappából vegye, hanem a Solid Edge Beállítások Alapkönyvtár panelén beállított helyről. Természetesen a material.mtl fájlnak írhatónak, olvashatónak kell lenni. Alapból ehhez rendszergazda jog kell, de ez nem minden esetben van meg, ezért
- Jogosultságokat ellenőrizni kellene, és ha nem megfelelőek a jogosultságok, akkor értesíteni illik a felhasználót!
- Meg lehet Excell nélkül is csinálni, de ehhez egy külön alkalmazást kell írni, ami megjeleníti és szerkeszthetővé teszi a kiolvasott adatokat.
- stb…
- Akinek van kedve, de elakadt, dobjon egy levelet és segítek. Az eredményeket, forráskóddal és névvel együtt, szívesen publikálom itt a blogomon.
A munkához szükség lesz az ingyenes Visual Studio 2010 Express alkalmazásra.
Jó munkát!
Mi van a kosztüm alatt?
Nem, ez nem egy szex bejegyzés lesz. Ha tovább olvasod, akkor kiderül, hogy milyen eszközök “rejtőzködnek” a “\Solid Edge XX\custom“ almappáiban. (Az XX a Solid Edge verziószáma)
Ezekben a mappákban, olyan programozási projektek találhatóak, amelyekkel kiegészíthetjük a Solid Edge képességeit. Sőt a meglévő forráskódokat saját igényünk szerint módosíthatjuk.
Általában VB.Net projektet találunk itt. Ezen forráskódok alapján könnyen meg lehet érteni a Solid Edge programozásának elveit, és utána magunk is elkezdhetünk fejleszteni a Solid Edge alá. A fejlesztést inygenes eszközökkel is történhet. Ezek a Visual Studio Express termékei. A VB projekteket a Visual Basic Express csomaggal tudjuk szerkeszteni és fordítani, valamint debuggolni.
Most a Sheetmetal mappában lévő fejlesztéssel fogok foglalkozni.
A Sheetmetal al mappáiban további négy mappa található, mindegyikben más-más VB projektek találhatóak. A projektek már le vannak fordítva, így csak a Windows Rendszerleíró adatbázisába kell regisztrálnunk, hogy a Soldi Edge “észrevegye” őket és használni tudja.
Például a DIN mappában lévő Register32.bat, vagy register64.bat fájlok elindításával tudjuk a bináris DLL-eket a Solid Edge számára érthetővé tenni. Attól függően, hogy 64 vagy 32 Solid Edge-t használunk, indítsuk el a fenti fájlok valamelyikét. Ha beletekintünk a bat fájlokba, akkor a következőket láthatjuk: “
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\regasm /codebase bin32\DIN.dll
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\regasm /tlb bin32\DIN.dll” A DIN.dll bináris fájlt regisztráljuk. Ezt fogja használni a Solid Edge a teríték számításához.
Ahhoz, hogy a Solid Edge a DIN.dll-ben leprogramozott teríték függvényt használja, még a Solid Edge lemez környezetben (lemez sablonba) be kell ezt állítani a következőképpen: A Solid Edge anyagtáblázat párbeszéd ablakban a Lemezsablon panelen az Egyedi képlet kapcsolót kapcsoljuk be és ide írjuk be a din.pzl nevet. Miért pont ezt? Mert ez a projekt így lett leprogramozva, hogy a din.dll bináris fájlban egy PZL (Plastic Zone Length) nevű függvény számolja a rövidüléseket.
Gyakorlatilag ezzel a technikával olyan terítéket készíthetünk, ami szükséges a pontos gyártáshoz.
Érdekel titeket az ilyesmi? Írjak még ilyeneket?