⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yuanzhuigunzi.cpp

📁 基于UG平台
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	dline9.end_point[1]=aa/2/cos(dd)+m_d/2+3*aa/8-tan(dd)*(m_c-m_t+m_b);
	dline9.end_point[2]=0.0;
	UF_CALL(UF_CURVE_create_line(&dline9,&line9));

    dlinea.start_point[0]=m_b-m_t/2;
	dlinea.start_point[1]=aa/2/cos(dd)+m_d/2+3*aa/8-tan(dd)*(m_c-m_t+m_b);
	dlinea.start_point[2]=0.0;
	dlinea.end_point[0]=m_t/2-m_c+sin(dd)*aa/2;
	dlinea.end_point[1]=m_d/2+3*aa/8+cos(dd)*aa/2;
	dlinea.end_point[2]=0.0;
	UF_CALL(UF_CURVE_create_line(&dlinea,&linea));

	dlineb.start_point[0]=m_t/2-m_c+sin(dd)*aa/2;
	dlineb.start_point[1]=m_d/2+3*aa/8+cos(dd)*aa/2;
	dlineb.start_point[2]=0.0;
	dlineb.end_point[0]=m_t/2-m_c;
	dlineb.end_point[1]=m_d/2+aa*3/8;
	dlineb.end_point[2]=0.0;
	UF_CALL(UF_CURVE_create_line(&dlineb,&lineb));

	dlinec.start_point[0]=-m_t/2;
	dlinec.start_point[1]=m_d/2;
	dlinec.start_point[2]=0.0;
	dlinec.end_point[0]=m_t/2;
	dlinec.end_point[1]=m_d/2;
	dlinec.end_point[2]=0.0;
	UF_CALL(UF_CURVE_create_line(&dlinec,&linec));
     
	tag_t sum1[4];
	sum1[0]=line6;
	sum1[1]=line9;
	sum1[2]=linea;
	sum1[3]=lineb;
    

    tag_t *neiq3,sum[5];
	int number3;
	sum[0]=line3;
	sum[1]=line7;
	sum[2]=line4;
	sum[3]=line8;
	sum[4]=line5;

    UF_MODL_create_revolution(sum,5,trim_date,limit,
		offset,region,false,true,region,direction,sign,&neiq,&number);


    UF_MODL_create_revolution(sum1,4,trim_date,limit,
		offset,region,false,true,region,direction,sign1,&neiq3,&number3);
	UF_MODL_create_revolution(&linec,1,trim_date,limit,
		offset,region,false,true,region,direction,sign1,&neiq3,&number3);

	int i;
	for(i=1;i<=m_i;i++)
	{
	double a,b,c,d;
	a=m_t/2-m_c+sin(dd)*aa/4;
	b=m_d/2+3*aa/8+cos(dd)*aa/4;
	c=m_b-m_t/2-sin(dd)*aa/4;
	d=aa/2/cos(dd)+m_d/2+3*aa/8-tan(dd)*(m_c-m_t+m_b)-cos(dd)*aa/4;

	UF_CURVE_line_t dline16;
	tag_t line16;
	double startx=m_t/2-m_c;
	double starty=m_d/2+3*aa/8;
	double endx=m_b-m_t/2-sin(dd)*aa/2;
	double endy=aa/2/cos(dd)+m_d/2+3*aa/8-tan(dd)*(m_c-m_t+m_b)-cos(dd)*aa/2;
	dline16.start_point[0]=startx;
	dline16.start_point[1]=starty*cos(i*rd);
	dline16.start_point[2]=starty*sin(i*rd);
	dline16.end_point[0]=endx;
	dline16.end_point[1]=endy*cos(i*rd);

    dline16.end_point[2]=endy*sin(i*rd);
	UF_CALL(UF_CURVE_create_line(&dline16,&line16));
	UF_OBJ_set_blank_status(line16,UF_OBJ_BLANKED);
	double p1[3]={a,b*cos(i*rd),b*sin(i*rd)};
	double p2[3]={c,d*cos(i*rd),d*sin(i*rd)};
	tag_t daxis,*cly;
	int obj;
    UF_MODL_create_fixed_daxis(p1,p2,&daxis);
	UF_OBJ_set_blank_status(daxis,UF_OBJ_BLANKED);
	UF_CALL(UF_MODL_create_revolution_dir(&line16,1,trim_date,limit,offset,
		p1,false,true,daxis,sign,&cly,&obj)); 
	    
	}

	 UF_OBJ_set_blank_status(line1,UF_OBJ_BLANKED); 
	 UF_OBJ_set_blank_status(line2,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line3,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line4,UF_OBJ_BLANKED);	
	 UF_OBJ_set_blank_status(line5,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line6,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line7,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line8,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line9,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(linea,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(lineb,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(linec,UF_OBJ_BLANKED);
	
	}

	if(err==0&&nlist==1)
	{
 
	double  m_dd=m_D,m_bb1=m_B,m_c1=m_C,m_b1=m_T;
	double t=(m_bb1-m_b1)/2;
	double aa=(m_dd-m_d)/2;
	double x1=m_c1/2,  y1=m_dd/2;
	double x2=m_c1/2,  y2=m_d/2+3*aa/8+aa/2/cos(dd);
	double x8=m_b1/2+sin(dd)*aa/2, y8=m_d/2+3*aa/8-tan(dd)*t+tan(dd)*(m_bb1-m_c1)/2+sin(dd)*tan(dd)*aa/2;
	double	x3=m_b1/2,  y3=y8+cos(dd)*aa/2;
	double	x9=m_b1/2,  y9=m_d/2+aa/4;
	double		x7=t+m_b1/2-(m_bb1-m_c1)/2,y7=m_d/2+aa*3/8;
	double		x6=x7,      y6=m_d/2+aa/2;
	double	x4=m_bb1/2,  y4=m_d/2+aa/2;
	double		x11=m_c1/2-sin(dd)*aa/2, y11=cos(dd)*aa/2+m_d/2+aa*3/8;
	 UF_CURVE_line_t dline1,dline2,dline3,dline4,dline5,dline6,dline7,dline8,dline9,dline10,dline11,dline12;
	 tag_t line1,line2,line3,line4,line5,line6,line7,line8,line9,line10,line11,line12;
	 dline1.start_point[0]=-x1;
     dline1.start_point[1]=y1;
	 dline1.start_point[2]=0.0;
	 dline1.end_point[0]=x1;
	 dline1.end_point[1]=y1;
	 dline1.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline1,&line1));

	 dline2.start_point[0]=x1;
     dline2.start_point[1]=y1;
	 dline2.start_point[2]=0.0;
	 dline2.end_point[0]=x2;
	 dline2.end_point[1]=y2;
	 dline2.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline2,&line2));

	 dline3.start_point[0]=x2;
     dline3.start_point[1]=y2;
	 dline3.start_point[2]=0.0;
	 dline3.end_point[0]=x3;
	 dline3.end_point[1]=y3;
	 dline3.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline3,&line3));

	 dline4.start_point[0]=x3;
     dline4.start_point[1]=y3;
	 dline4.start_point[2]=0.0;
	 dline4.end_point[0]=-x3;
	 dline4.end_point[1]=y3;
	 dline4.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline4,&line4));

	 dline5.start_point[0]=-x3;
     dline5.start_point[1]=y3;
	 dline5.start_point[2]=0.0;
	 dline5.end_point[0]=-x2;
	 dline5.end_point[1]=y2;
	 dline5.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline5,&line5));

	 dline6.start_point[0]=-x2;
     dline6.start_point[1]=y2;
	 dline6.start_point[2]=0.0;
	 dline6.end_point[0]=-x1;
	 dline6.end_point[1]=y1;
	 dline6.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline6,&line6));

	tag_t add[6];
	add[0]=line1;
	add[1]=line2;
	add[2]=line3;
	add[3]=line4;
	add[4]=line5;
	add[5]=line6;

	 dline7.start_point[0]=x9;
     dline7.start_point[1]=y9;
	 dline7.start_point[2]=0.0;
	 dline7.end_point[0]=x8;
	 dline7.end_point[1]=y9;
	 dline7.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline7,&line7));

	 dline8.start_point[0]=x8;
     dline8.start_point[1]=y9;
	 dline8.start_point[2]=0.0;
	 dline8.end_point[0]=x8;
	 dline8.end_point[1]=y8;
	 dline8.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline8,&line8));

	  dline9.start_point[0]=x8;
     dline9.start_point[1]=y8;
	 dline9.start_point[2]=0.0;
	 dline9.end_point[0]=x7;
	 dline9.end_point[1]=y7;
	 dline9.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline9,&line9));

	 dline10.start_point[0]=x7;
     dline10.start_point[1]=y7;
	 dline10.start_point[2]=0.0;
	 dline10.end_point[0]=x6;
	 dline10.end_point[1]=y6;
	 dline10.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline10,&line10));

	 dline11.start_point[0]=x6;
     dline11.start_point[1]=y6;
	 dline11.start_point[2]=0.0;
	 dline11.end_point[0]=x4;
	 dline11.end_point[1]=y4;
	 dline11.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline11,&line11));

	 dline12.start_point[0]=-m_bb1/2;
     dline12.start_point[1]=m_d/2;
	 dline12.start_point[2]=0.0;
	 dline12.end_point[0]=m_bb1/2;
	 dline12.end_point[1]=m_d/2;
	 dline12.end_point[2]=0.0;
	 UF_CALL(UF_CURVE_create_line(&dline12,&line12));
	tag_t add1[5];
	tag_t *neiq,*waiq;
	int number,number1;
	add1[0]=line7;
	add1[1]=line8;
	add1[2]=line9;
	add1[3]=line10;
	add1[4]=line11;
	UF_CALL(UF_MODL_create_revolution(add,6,trim_date,limit,
		offset,region,false,true,region,direction,sign,&waiq,&number));
	UF_CALL(UF_MODL_create_revolution(add1,5,trim_date,limit,
		offset,region,false,true,region,direction,sign,&neiq,&number1));
	UF_CALL(UF_MODL_create_revolution(&line12,1,trim_date,limit,
		offset,region,false,true,region,direction,sign1,&neiq,&number1));

	 double dplane_point[3]={0.0,0.0,1.0};
	 double dplane_direction[3]={1.0,0.0,0.0};
	 tag_t datum_plane,dplane_tag,body_obj;
	 UF_MODL_create_fixed_dplane(dplane_point,dplane_direction,&datum_plane);
	 UF_MODL_ask_feat_body(*neiq,&body_obj);
	 UF_CALL(UF_MODL_create_mirror_body(body_obj,datum_plane,&dplane_tag));

	  UF_OBJ_set_blank_status(datum_plane,UF_OBJ_BLANKED); 
	  UF_OBJ_set_blank_status(dplane_tag,UF_OBJ_BLANKED); 


  int i;
  for(i=1;i<=m_i;i++)
  {
	  UF_CURVE_line_t rline,rline1;
	  tag_t rlin,rlin1;
	  rline.start_point[0]=x3;
	  rline.start_point[1]=cos(i*rd)*y3;
	  rline.start_point[2]=sin(i*rd)*y3;
	  rline.end_point[0]=x11;
	  rline.end_point[1]=cos(rd*i)*y11;
	  rline.end_point[2]=sin(i*rd)*y11;
	  UF_CALL(UF_CURVE_create_line(&rline,&rlin));
	  rline1.start_point[0]=-x3;
	  rline1.start_point[1]=cos(i*rd)*y3;
	  rline1.start_point[2]=sin(i*rd)*y3;
	  rline1.end_point[0]=-x11;
	  rline1.end_point[1]=cos(rd*i)*y11;
	  rline1.end_point[2]=sin(i*rd)*y11;
	  UF_CALL(UF_CURVE_create_line(&rline1,&rlin1));
	  UF_OBJ_set_blank_status(rlin,UF_OBJ_BLANKED); 
	  UF_OBJ_set_blank_status(rlin1,UF_OBJ_BLANKED); 
	  double dr1=(y3+y8)/2;
	  double dr2=(y11+y7)/2;
	  tag_t daxis,*gz,*gzb,daxis1;
	  int num,num1;
	  double p1[3]={(x3+x8)/2,dr1*cos(i*rd),dr1*sin(i*rd)};
	  double p2[3]={(x11+x7)/2,dr2*cos(i*rd),dr2*sin(i*rd)};
	  UF_MODL_create_fixed_daxis(p1,p2,&daxis);
	  UF_CALL(UF_MODL_create_revolution_dir(&rlin,1,trim_date,limit,offset,
	  p1,false,true,daxis,sign,&gz,&num)); 
	  double p11[3]={-(x3+x8)/2,dr1*cos(i*rd),dr1*sin(i*rd)};
	  double p22[3]={-(x11+x7)/2,dr2*cos(i*rd),dr2*sin(i*rd)};
	  UF_MODL_create_fixed_daxis(p11,p22,&daxis1);
	  
	  UF_OBJ_set_blank_status(daxis,UF_OBJ_BLANKED); 
	  UF_OBJ_set_blank_status(daxis1,UF_OBJ_BLANKED);
	  
	  UF_CALL(UF_MODL_create_revolution_dir(&rlin1,1,trim_date,limit,offset,
		p11,false,true,daxis1,sign,&gzb,&num1)); 
	   
	 

  }
     UF_OBJ_set_blank_status(line1,UF_OBJ_BLANKED); 
	 UF_OBJ_set_blank_status(line2,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line3,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line4,UF_OBJ_BLANKED);	
	 UF_OBJ_set_blank_status(line5,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line6,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line7,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line8,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line9,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line10,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line11,UF_OBJ_BLANKED);
	 UF_OBJ_set_blank_status(line12,UF_OBJ_BLANKED);
}





	
	



	
	CDialog::OnOK();
}

void Cyuanzhuigunzi::OnHelpBtn() 
{
	AfxMessageBox(_T("请与合肥数字化设计中心联系!"));
	
	
}

void Cyuanzhuigunzi::OnCancel() 
{
	CDialog::OnCancel();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -