36 lines
987 B
Lua
36 lines
987 B
Lua
-- 2018/06/20
|
|
-- Taglio di una supertifie trimesh con un piano
|
|
-- Istruzioni :
|
|
-- 1) selezionare la superficie da tagliare
|
|
-- 2) selezionare il piano di taglio
|
|
-- 3) eseguire il componente.
|
|
|
|
-- Intestazioni
|
|
require( 'EgtBase')
|
|
_ENV = EgtProtectGlobal()
|
|
EgtEnableDebug( false)
|
|
|
|
|
|
-- Recupero primo oggetto selezionato (superficie da tagliare)
|
|
local nId1 = EgtGetFirstSelectedObj()
|
|
if not nId1 or EgtGetType( nId1) ~= GDB_TY.SRF_MESH then
|
|
EgtOutText( 'Il primo oggetto selezionato non è una superficie')
|
|
EgtPause( 1000)
|
|
return
|
|
end
|
|
|
|
-- Recupero secondo oggetto selezionato (piano di taglio)
|
|
local nId2 = EgtGetNextSelectedObj()
|
|
if not nId2 or EgtGetType( nId2) ~= GDB_TY.SRF_MESH or EgtSurfTmFacetCount( nId2) ~= 1 then
|
|
EgtOutText( 'Il secondo oggetto selezionato non è un piano')
|
|
EgtPause( 1000)
|
|
return
|
|
end
|
|
|
|
-- Eseguo il taglio
|
|
local ptOn, vtN = EgtSurfTmFacetCenter( nId2, 0, GDB_ID.ROOT)
|
|
local bOk = EgtCutSurfTmPlane( nId1, ptOn, vtN, false, GDB_RT.GLOB)
|
|
|
|
EgtDraw()
|
|
|