コード例 #1
0
ファイル: AttachOp.cpp プロジェクト: DesignerMK/heekscnc
CAttachOp::CAttachOp(const std::list<int> &solids, double tol, double min_z):COp(GetTypeString(), 0, AttachOpType), m_solids(solids), m_tolerance(tol), m_min_z(min_z)
{
	ReadDefaultValues();

#ifdef OP_SKETCHES_AS_CHILDREN
	for(std::list<int>::const_iterator It = solids.begin(); It != solids.end(); It++)
	{
		int solid = *It;
		HeeksObj* object = heeksCAD->GetIDObject(SolidType, solid);
		if(object)
		{
			Add(object, NULL);
		}
	}
	m_solids.clear();
#endif
}
コード例 #2
0
ファイル: Waterline.cpp プロジェクト: DavidNicholls/heekscnc
CWaterline::CWaterline(const std::list<int> &solids, const int tool_number)
    :CDepthOp(GetTypeString(), NULL, tool_number, WaterlineType), m_solids(solids)
{
	ReadDefaultValues();

	// set m_box from the extents of the solids
	for(std::list<int>::const_iterator It = solids.begin(); It != solids.end(); It++)
	{
		int solid = *It;
		HeeksObj* object = heeksCAD->GetIDObject(SolidType, solid);
		if(object)
		{
			if(object->GetType() == StlSolidType)
			{
				object->GetBox(m_params.m_box);
			}
			else
			{
				double extents[6];
				if(heeksCAD->BodyGetExtents(object, extents))
				{
					m_params.m_box.Insert(CBox(extents));
				}
			}

			Add(object, NULL);
		}
	}
	m_solids.clear();

	SetDepthOpParamsFromBox();

	// add tool radius all around the box
	if(m_params.m_box.m_valid)
	{
		CTool *pTool = CTool::Find(m_tool_number);
		if(pTool)
		{
			double extra = pTool->m_params.m_diameter/2 + 0.01;
			m_params.m_box.m_x[0] -= extra;
			m_params.m_box.m_x[1] -= extra;
			m_params.m_box.m_x[3] += extra;
			m_params.m_box.m_x[4] += extra;
		}
	}
}
コード例 #3
0
ファイル: Profile.cpp プロジェクト: DesignerMK/heekscnc
CProfile::CProfile(const std::list<int> &sketches, const int tool_number )
		: 	CDepthOp(GetTypeString(), &sketches, tool_number, ProfileType),
			m_tags(NULL), m_sketches(sketches)
{
    ReadDefaultValues();
#ifdef OP_SKETCHES_AS_CHILDREN
    for (std::list<int>::iterator id = m_sketches.begin(); id != m_sketches.end(); id++)
    {
        HeeksObj *object = heeksCAD->GetIDObject( SketchType, *id );
        if (object != NULL)
        {
            Add( object, NULL );
        }
    }

    m_sketches.clear();
#endif
} // End constructor
コード例 #4
0
ファイル: Profile.cpp プロジェクト: AlanZheng/heekscnc
CProfile::CProfile(int sketch, const int tool_number )
		: 	CSketchOp(sketch, tool_number, ProfileType), m_tags(NULL)
{
    ReadDefaultValues();
} // End constructor
コード例 #5
0
ファイル: Pocket.cpp プロジェクト: play113/swer
CPocket::CPocket(int sketch, const int tool_number )
	: CSketchOp(sketch, tool_number, PocketType )
{
	ReadDefaultValues();
	set_initial_values(tool_number);
}
コード例 #6
0
ファイル: Tag.cpp プロジェクト: play113/swer
CTag::CTag(): m_width(10.0),	m_angle(45.0), m_height(4.0){
	m_pos[0] = m_pos[1] = 0.0;
	ReadDefaultValues();
}