【UG\NX二次开发-PK函数】PK_BODY_create_soild_torus(PK创建圆环)

//注意PK的单位是m,UG的单位是mm,以下宏用于单位换算
#define mm 0.001
#define MUL(x) ((x)*(mm)	

//------------PK创建圆环---------------------
	/*
	*@oriPoint:圆环的中心点
	*@vec1:第一个坐标轴向
	*@vec2:第二个坐标轴向
	*@major_radius:圆环的大半径
	*@minor_radius:圆环的小半径(必须大于0)
	*/
	PK_BODY_t createTorus(double oriPoint[3], double vec1[3], double vec2[3], double major_radius, double minor_radius)
	{
		PK_VECTOR1_t dir1 = { vec1[0],vec1[1],vec1[2] };
		PK_VECTOR1_t dir2 = { vec2[0],vec2[1],vec2[2] };
		PK_VECTOR_t Coneori = { MUL(oriPoint[0]) ,MUL(oriPoint[1]) ,MUL(oriPoint[2]) };
        //坐标轴原点

		PK_AXIS2_sf_t abasis_set;
		abasis_set.axis = dir1;//第一个坐标轴(方向)
		abasis_set.ref_direction = dir2;//第二个坐标轴(方向)
		//注意:这两个坐标轴必须是正交的(相互垂直)
		abasis_set.location = Coneori;//坐标轴原点
		
		PK_BODY_t pkBody = PK_ENTITY_null;
		PK_BODY_create_solid_torus(MUL(major_radius), MUL(minor_radius), &abasis_set, &body);
		return pkBody;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值