EgtMachKernel :
- prima versione della lavorazione di finitura superficie.
This commit is contained in:
@@ -282,6 +282,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Head.cpp" />
|
||||
<ClCompile Include="SurfFinishing.cpp" />
|
||||
<ClCompile Include="SurfFinishingData.cpp" />
|
||||
<ClCompile Include="Table.cpp" />
|
||||
<ClCompile Include="ToolData.cpp" />
|
||||
@@ -423,6 +424,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
|
||||
<ClInclude Include="Simulator.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="Head.h" />
|
||||
<ClInclude Include="SurfFinishing.h" />
|
||||
<ClInclude Include="SurfFinishingData.h" />
|
||||
<ClInclude Include="Table.h" />
|
||||
<ClInclude Include="ToolData.h" />
|
||||
|
||||
@@ -219,6 +219,9 @@
|
||||
<ClCompile Include="SurfFinishingData.cpp">
|
||||
<Filter>Source Files\Machinings</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SurfFinishing.cpp">
|
||||
<Filter>Source Files\Operations</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="DllMain.h">
|
||||
@@ -638,6 +641,9 @@
|
||||
<ClInclude Include="SurfFinishingData.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SurfFinishing.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EgtMachKernel.rc">
|
||||
|
||||
+12
-4
@@ -1,13 +1,13 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2017-2017
|
||||
// EgalTech 2017-2019
|
||||
//----------------------------------------------------------------------------
|
||||
// File : OperationConst.h Data : 17.08.17 Versione : 1.8h1
|
||||
// File : OperationConst.h Data : 28.05.19 Versione : 2.1e5
|
||||
// Contenuto : Costanti per le operazioni.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 17.08.17 DS Creazione modulo.
|
||||
//
|
||||
// 25.05.19 DS Aggiunte SurfRoughing e SurfFinishing.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
@@ -28,7 +28,9 @@ static const std::string s_OpeClass[] = {"",
|
||||
"EMkSawRoughing",
|
||||
"EMkSawFinishing",
|
||||
"EMkGenMachining",
|
||||
"EMkChiseling"} ;
|
||||
"EMkChiseling",
|
||||
"EMkSurfRoughing",
|
||||
"EMkSurfFinishing"} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Dal tipo numerico restituisce la classe della operazione
|
||||
@@ -46,6 +48,8 @@ GetOperationClass( int nOpeType)
|
||||
case OPER_SAWFINISHING : return s_OpeClass[8] ;
|
||||
case OPER_GENMACHINING : return s_OpeClass[9] ;
|
||||
case OPER_CHISELING : return s_OpeClass[10] ;
|
||||
case OPER_SURFROUGHING : return s_OpeClass[11] ;
|
||||
case OPER_SURFFINISHING : return s_OpeClass[12] ;
|
||||
}
|
||||
return s_OpeClass[0] ;
|
||||
}
|
||||
@@ -75,6 +79,10 @@ GetOperationType( const std::string& sOpeClass)
|
||||
return OPER_GENMACHINING ;
|
||||
else if ( sOpeClass == s_OpeClass[10])
|
||||
return OPER_CHISELING ;
|
||||
else if ( sOpeClass == s_OpeClass[11])
|
||||
return OPER_SURFROUGHING ;
|
||||
else if ( sOpeClass == s_OpeClass[12])
|
||||
return OPER_SURFFINISHING ;
|
||||
else
|
||||
return OPER_NULL ;
|
||||
}
|
||||
+1669
File diff suppressed because it is too large
Load Diff
+109
@@ -0,0 +1,109 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2019-2019
|
||||
//----------------------------------------------------------------------------
|
||||
// File : SurfFinishing.h Data : 28.05.19 Versione : 2.1e5
|
||||
// Contenuto : Dichiarazione della classe SurfFinishing.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 28.05.19 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Machining.h"
|
||||
#include "SurfFinishingData.h"
|
||||
#include "ToolData.h"
|
||||
#include "MachiningConst.h"
|
||||
#include "/EgtDev/Include/EGkCurveComposite.h"
|
||||
#include "/EgtDev/Include/EgtNumUtils.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class SurfFinishing : public Machining
|
||||
{
|
||||
public : // IUserObj
|
||||
SurfFinishing* Clone( void) const override ;
|
||||
const std::string& GetClassName( void) const override ;
|
||||
bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const override ;
|
||||
bool ToSave( void) const override
|
||||
{ return true ; }
|
||||
bool Save( int nBaseId, STRVECTOR& vString) const override ;
|
||||
bool Load( const STRVECTOR& vString, int nBaseGdbId) override ;
|
||||
|
||||
public : // Operation
|
||||
int GetType( void) const override
|
||||
{ return OPER_SAWFINISHING ; }
|
||||
bool IsEmpty( void) const override
|
||||
{ return ( m_nPaths == 0) ; }
|
||||
bool UpdateStatus( int nModif) override
|
||||
{ m_nStatus |= nModif ; return true ; }
|
||||
|
||||
protected : // Operation
|
||||
int GetSolCh( void) const override
|
||||
{ return m_Params.m_nSolCh ; }
|
||||
bool AdjustEndPointForAxesCalc( const CamData* pCamData, Point3d& ptP) const override ;
|
||||
|
||||
public : // Machining
|
||||
bool Prepare( const std::string& sSawName) override ;
|
||||
bool SetParam( int nType, bool bVal) override ;
|
||||
bool SetParam( int nType, int nVal) override ;
|
||||
bool SetParam( int nType, double dVal) override ;
|
||||
bool SetParam( int nType, const std::string& sVal) override ;
|
||||
bool SetGeometry( const SELVECTOR& vIds) override ;
|
||||
bool Preview( bool bRecalc) override ;
|
||||
bool Apply( bool bRecalc, bool bPostApply) override ;
|
||||
bool Update( bool bPostApply) override ;
|
||||
bool GetParam( int nType, bool& bVal) const override ;
|
||||
bool GetParam( int nType, int& nVal) const override ;
|
||||
bool GetParam( int nType, double& dVal) const override ;
|
||||
bool GetParam( int nType, std::string& sVal) const override ;
|
||||
bool UpdateToolData( bool* pbChanged = nullptr) override ;
|
||||
const ToolData& GetToolData( void) const override ;
|
||||
bool GetGeometry( SELVECTOR& vIds) const override ;
|
||||
|
||||
public :
|
||||
SurfFinishing( void) ;
|
||||
|
||||
private :
|
||||
bool VerifyGeometry( SelData Id, int& nSubs) ;
|
||||
bool GetCurves( SelData Id, ICURVEPLIST& lstPC) ;
|
||||
bool Chain( int nGrpDestId) ;
|
||||
bool ProcessPath( int nPathId, int nPvId, int nClId) ;
|
||||
bool AddZigZag( const ICurveComposite* pCompo, const Vector3d& vtTool, const Vector3d& vtExtr,
|
||||
double dDepth, double dElev, bool bSplitArcs) ;
|
||||
bool CalcZigZag( const ICurveComposite* pOffs, ICRVCOMPOPOVECTOR& vpCrvs) ;
|
||||
bool AddApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;
|
||||
bool AddLinkApproach( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;
|
||||
bool AddLinkRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;
|
||||
bool AddRetract( const Point3d& ptP, const Vector3d& vtTool, double dSafeZ, double dElev, double dAppr) ;
|
||||
bool CalcLeadInStart( const Point3d& ptStart, const Vector3d& vtStart, const Vector3d& vtN, Point3d& ptP1) ;
|
||||
bool AddLeadIn( const Point3d& ptP1, const Point3d& ptStart, const Vector3d& vtStart, const Vector3d& vtN) ;
|
||||
bool AddLeadOut( const Point3d& ptEnd, const Vector3d& vtEnd, const Vector3d& vtN, Point3d& ptP1) ;
|
||||
|
||||
private :
|
||||
double GetSpeed() const
|
||||
{ return ( IsNullAngValue( m_Params.m_dSpeed) ? m_TParams.m_dSpeed : m_Params.m_dSpeed) ; }
|
||||
double GetFeed() const
|
||||
{ return ( IsNullLenValue( m_Params.m_dFeed) ? m_TParams.m_dFeed : m_Params.m_dFeed) ; }
|
||||
double GetStartFeed() const
|
||||
{ return ( IsNullLenValue( m_Params.m_dStartFeed) ? m_TParams.m_dStartFeed : m_Params.m_dStartFeed) ; }
|
||||
double GetEndFeed() const
|
||||
{ return ( IsNullLenValue( m_Params.m_dEndFeed) ? m_TParams.m_dEndFeed : m_Params.m_dEndFeed) ; }
|
||||
double GetTipFeed() const
|
||||
{ return ( IsNullLenValue( m_Params.m_dTipFeed) ? m_TParams.m_dTipFeed : m_Params.m_dTipFeed) ; }
|
||||
double GetOffsR() const
|
||||
{ return ( IsUnknownValue( m_Params.m_dOffsR) ? m_TParams.m_dOffsR : m_Params.m_dOffsR) ; }
|
||||
double GetSideStep( void) const
|
||||
{ return Clamp( m_Params.m_dSideStep, std::min( 0.1 * m_TParams.m_dDiam, 1.0), m_TParams.m_dDiam) ; }
|
||||
|
||||
private :
|
||||
SELVECTOR m_vId ; // identificativi entità geometriche da lavorare
|
||||
SurfFinishingData m_Params ; // parametri lavorazione
|
||||
ToolData m_TParams ; // parametri utensile
|
||||
double m_dTHoldLen ; // lunghezza del porta-utensile
|
||||
double m_dTHoldDiam ; // diametro del porta-utensile
|
||||
int m_nStatus ; // stato di aggiornamento della lavorazione
|
||||
int m_nPaths ; // numero di percorsi di lavoro generati
|
||||
} ;
|
||||
Reference in New Issue
Block a user