1. UF_initialize();
  2. //CSYS_ask_wcs
  3. tag_t wcs_id=NULL_TAG;
  4. //CSYS_ask_csys_info
  5. double csys_orign[]={0.0};
  6. //CURVE_create_line
  7. UF_CURVE_line_t line_coords;
  8. tag_t line=NULL_TAG;
  9. //CURVE_create_arc
  10. UF_CURVE_arc_t arc_coords;
  11. tag_t arc=NULL_TAG;
  12. //CURVE_ask_arc_data
  13. UF_CURVE_arc_t ask_arc_coords;
  14. //CURVE_ask_line_data
  15. UF_CURVE_line_t ask_line_coords;
  16. //获取当的wcs坐标系的tag
  17. UF_CSYS_ask_wcs(&wcs_id);
  18. //寻问坐标系的信息(原点和矩阵的tag)
  19. UF_CSYS_ask_csys_info(wcs_id,&arc_coords.matrix_tag,csys_orign);
  20. //CURVE_create_arc
  21. arc_coords.start_angle=10.0*DEGRA;/*注意创建圆弧时,需要在后面乘以弧度,不乘以弧度,不报错不出现圆弧线*/
  22. arc_coords.end_angle=300.0*DEGRA;/* DEGRA .01745329251994328*/
  23. arc_coords.arc_center[]=100.0;
  24. arc_coords.arc_center[]=0.0;
  25. arc_coords.arc_center[]=0.0;
  26. arc_coords.radius=100.0;
  27. //CURVE_create_line
  28. line_coords.start_point[]=0.0;
  29. line_coords.start_point[]=0.0;
  30. line_coords.start_point[]=0.0;
  31. line_coords.end_point[]=100.0;
  32. line_coords.end_point[]=0.0;
  33. line_coords.end_point[]=0.0;
  34. //创建直线
  35. UF_CURVE_create_line(&line_coords,&line);
  36. //创建圆弧
  37. UF_CURVE_create_arc (&arc_coords,&arc);
  38. //圆弧数据
  39. UF_CURVE_ask_arc_data(arc,&ask_arc_coords);
  40. //直线数据
  41. UF_CURVE_ask_line_data (line,&ask_line_coords);
  42. //转换数据(圆弧)
  43. char arc_center[],arc_angle[],arc_radius[],arc_mtx_tag[];
  44. sprintf(arc_center,"圆弧中心为:%f,%f,%f\n",ask_arc_coords.arc_center[],ask_arc_coords.arc_center[],ask_arc_coords.arc_center[]);
  45. sprintf(arc_angle,"圆弧起始角度为:%f,终止角度为:%f\n",ask_arc_coords.start_angle,ask_arc_coords.end_angle);
  46. sprintf(arc_radius,"弧度为:%f\n",ask_arc_coords.radius);
  47. sprintf(arc_mtx_tag,"矩阵tag值为:%d\n",ask_arc_coords.matrix_tag);
  48. //转换数据(直线)
  49. char line_data[];
  50. sprintf(line_data,"直线起始点位置为:%f,%f,%f\n终点位置为:%f,%f,%f\n",ask_line_coords.start_point[],ask_line_coords.start_point[],ask_line_coords.start_point[],ask_line_coords.end_point[],ask_line_coords.end_point[],ask_line_coords.end_point[]);
  51. //打印信息
  52. UF_UI_open_listing_window();
  53. //******************圆弧信息***********************//
  54. UF_UI_write_listing_window(arc_center);
  55. UF_UI_write_listing_window(arc_angle);
  56. UF_UI_write_listing_window(arc_radius);
  57. UF_UI_write_listing_window(arc_mtx_tag);
  58. //******************直线信息***********************//
  59. UF_UI_write_listing_window("\n");
  60. UF_UI_write_listing_window("\n");
  61. UF_UI_write_listing_window(line_data);
  62.  
  63. UF_terminate();

UFUN函数 UF_CURVE函数(UF_CURVE_create_line、UF_CURVE_create_arc、UF_CURVE_ask_arc_data、UF_CURVE_ask_line_data)的更多相关文章

  1. C++虚函数和函数指针一起使用

    C++虚函数和函数指针一起使用,写起来有点麻烦. 下面贴出一份示例代码,可作参考.(需要支持C++11编译) #include <stdio.h> #include <list> ...

  2. Oracle_SQL函数-分组函数

    分组函数 什么是分组函数 分组函数作用于一组数据,并对一组数据返回一个值 组函数类型:主要有6种 AVG - 平均 COUNT - 计数 MAX - 最大 MIN - 最小 SUM - 求和 STDD ...

  3. Oracle_SQL函数-单行函数

    SQL函数 SQL函数分类 SQL函数主要有两种,分为单行函数.多行函数 单行函数:只对一行进行变换,每行返回一个结果.可以转换数据类型,可以嵌套参数可以是一列或一个值 多行函数:多行函数,每次对一组 ...

  4. 12-返回指针的函数&&指向函数的指针

    前言 接下来我只讲指针的最常见用法,比如这一章的内容----返回指针的函数 与 指向函数的指针   一.返回指针的函数 指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的. 返回 ...

  5. JavaScript 闭包系列二(匿名函数及函数的闭包)

    一. 匿名函数 1. 函数的定义,可分为三种 1) 函数声明方式 function double(x) {     return 2*x; } 2)Function构造函数,把参数列表和函数体都作为字 ...

  6. javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数

    javascript函数一共可分为五类:    ·常规函数    ·数组函数    ·日期函数    ·数学函数    ·字符串函数    1.常规函数    javascript常规函数包括以下9个 ...

  7. 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数

    [源码下载] 速战速决 (3) - PHP: 函数基础, 函数参数, 函数返回值, 可变函数, 匿名函数, 闭包函数, 回调函数 作者:webabcd 介绍速战速决 之 PHP 函数基础 函数参数 函 ...

  8. PHP基于数组的分页函数(核心函数array_slice())

    关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页 ...

  9. Python入门笔记(19):Python函数(2):函数/方法装饰器

    一.装饰器(decorators) 装饰器的语法以@开头,接着是装饰器函数的名字.可选参数. 紧跟装饰器声明的是被装饰的函数和被装饰的函数的可选参数,如下: @decorator(dec_opt_ar ...

随机推荐

  1. 自学Dos的随堂笔记

    开启DOS控制台的几种方式 开始+windows系统+命令提示符. Win键+R,输入cmd打开控制台. 在任意文件夹下,按住shift键+鼠标右键点击,在此处打开命令窗口. 资源管理器的地址栏前面加 ...

  2. linux 1-常用命令

    文件处理命令: 命令格式:命令 [-选项] [参数] 例如:ls -la /etc   多个选项可以写在一起,不区分前后关系,例如 -l 和 -a 一起写成 -la 目录处理命令:ls (就是list ...

  3. python安装pyautogui

    一.问题在安装使用[pip install pyautogui]的时候会出现如下的错误: ERROR: Complete output from command python setup.py egg ...

  4. 带着canvas去流浪系列之八 碰撞【华为云技术分享】

    [摘要] canvas动画-碰撞仿真 示例代码托管在:http://www.github.com/dashnowords/blogs 经过前面章节相对枯燥的练习,相信你已经能够上手canvas的原生A ...

  5. 独立使用 ecj

    ECJ 是 Eclipse Compiler for Java 的缩写,是 JavaTM 认可的 Java 编译工具(类似 javac).可以单独下载使用. 下载地址: http://mirrors. ...

  6. Ubuntu 使用scrapy-splash

    配置docker 1.更新apt索引: $ sudo apt-get update 2.安装包允许apt通过HTTPS使用仓库:  sudo dpkg --configure -a  sudo apt ...

  7. Mycat分布式数据库架构解决方案--搭建MySQL读写分离环境--一主多从

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 本文主 ...

  8. vue中对象数组去重

    其实很简单,一般的数组去重可以直接用 new Set() 方法即可,但是数组对象的话,比较复杂,不能直接用,我们可以采取间接的方法来去重 unique(arr) { const res = new M ...

  9. 浅谈Object.prototype.toString.call()方法

    在JavaScript里使用typeof判断数据类型,只能区分基本类型,即:number.string.undefined.boolean.object.对于null.array.function.o ...

  10. Vue学习之品牌案例部分代码小结(二)

    品牌案例的增删查和其他部分效果: <!DOCTYPE html> <html lang="en"> <head> <meta charse ...