找回密码
 注册
查看: 1501|回复: 14
打印 上一主题 下一主题

十天学会Skill之第七天

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2023-8-23 19:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 deargds 于 2023-8-23 19:20 编辑

十天学会skill之第七天
By deargds
https://www.eda365.com
学习目的:了解axlDBCreate*函数,学会创建常用设计对象

一,创建图形设计对象
图形设计对象主要包括Line和Shape,在学习绘制Line和Shape图形之前,需要先了解一下Path结构,因为设计中的Line和Shape都是由path构成,
Path是由一个或多个线段和弧线段首尾相接而成的图形结构,如下图所示:

我们可以通过以下代码创建Path
  1. ;开始创建path
  2. path = axlPathStart( list(0:0) 15.0);定义path起点,Path线宽默认为15.0
  3. axlPathLine( path 15.0 400:0 );绘制直线段到下一个坐标位置
  4. axlPathArcCenter( path 15.0 450:-50 t 400:-50 );绘制弧线段到下一个坐标位置
  5. axlPathLine( path 15.0 450:-200 );绘制直线段到下一个坐标位置
  6. ;Path创建结束
复制代码

对应到图形中的代码示意如下图:



1.创建Line
现在有了上一步创建的Path,我们就可以在指定图层中创建Line,代码如下:
  1. axlDBCreatePath( path "ETCH/TOP" 'line);在指定图层中将Path绘制出来,如果需要绘制Cline,可以将参数'line改为nil或者定义为网络名
  2. axlFlushDisplay();刷新显示
复制代码

提示:如果创建直线段和圆,可以直接使用axlDBCreateLineaxlDBCreateCircle函数,不需要创建Path


2.创建Shape
        创建Shape有两种基本的方式:
        1>首先创建一个闭合的Path,然后使用axlDBCreateShape在指定图层创建Shape,示例代码如下:
  1. ;开始创建闭合path
  2. path = axlPathStart( list(0:0) );定义path起点
  3. axlPathLine( path 0.0 200:300 );绘制直线段到下一个坐标位置
  4. axlPathLine( path 0.0 400:0 );绘制直线段到下一个坐标位置
  5. axlPathLine( path 0.0 0:0 );绘制直线段到起点,闭合
  6. ;闭合Path创建结束

  7. axlDBCreateShape(path t "ETCH/TOP");在指定图层中将Path绘制出来
  8. axlFlushDisplay();刷新显示
复制代码
        
        2>根据Poly来创建Shape,Poly可以通过axlPolyFrom*系列函数来进行获取,以下代码演示如何将创建的Line转化为Shape:        
  1. path = axlPathStart( list(0:0) 15.0);定义path起点,Path线宽默认为15.0
  2. axlPathLine( path 15.0 400:0 );绘制直线段到下一个坐标位置
  3. axlPathArcCenter( path 15.0 450:-50 t 400:-50 );绘制弧线段到下一个坐标位置
  4. axlPathLine( path 15.0 450:-200 );绘制直线段到下一个坐标位置

  5. dbLine = caar(axlDBCreatePath( path "ETCH/TOP" 'line));创建Line,并获取dbid
  6. dbPoly = car(axlPolyFromDB(dbLine ?endCapType "ROUND"));获取line的poly
  7. axlDBCreateShape(dbPoly t "ETCH/TOP" nil);根据poly绘制Shape
  8. axlDeleteObject(dbLine);删除Line
  9. axlFlushDisplay();刷新显示
复制代码
        
        提示:如果需要创建带有Void的Shape,可以使用axlDBCreateOpenShapeaxlDBCreateCloseShape函数配合处理。

二,创建其它设计对象

        1.创建Text
  1. orientText = make_axlTextOrientation(?textBlock "2" ?rotation 0.0 ?mirrored nil ?justify "center");定义TEXT结构
  2. axlDBCreateText( "EDA365" 0:0 orientText "BOARD GEOMETRY/ASSEMBLY_DETAIL" nil);创建TEXT
复制代码

        2.创建Via        
  1. axlDBCreateVia( "VIA10_22" 0:0 "GND" t 0.0 nil)
复制代码

总结:关于创建Shape部分,可以进一步了解Poly的相应操作,例如缩放,布尔操作等,在帮助文档中有相应的axlPoly*函数说明。

评分

参与人数 1威望 +5 收起 理由
betamelody + 5 支持!

查看全部评分

  • TA的每日心情

    2021-1-21 15:57
  • 签到天数: 121 天

    [LV.7]常住居民III

    2#
    发表于 2023-8-24 08:12 | 只看该作者
    终于等到第七天,大佬
    继续学习!
  • TA的每日心情
    开心
    2023-5-30 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2023-8-24 09:08 | 只看该作者
    Skill用好了,也可以很好的提高工作效率
  • TA的每日心情
    慵懒
    2024-5-8 15:39
  • 签到天数: 112 天

    [LV.6]常住居民II

    4#
    发表于 2023-8-24 10:04 | 只看该作者
    等到第七天了,真好,感谢楼主!!!学习学习~

    该用户从未签到

    7#
    发表于 2023-8-24 21:27 | 只看该作者
    历害。。。学习了。
  • TA的每日心情
    擦汗
    2024-5-15 15:49
  • 签到天数: 314 天

    [LV.8]以坛为家I

    8#
    发表于 2023-9-27 09:29 | 只看该作者
    6666666666
  • TA的每日心情
    开心
    2024-11-26 15:32
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    9#
    发表于 2023-11-21 11:13 | 只看该作者
    中文丝印是不是用这种方法添加的?
  • TA的每日心情
    开心
    2021-1-19 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    10#
    发表于 2024-9-22 22:37 | 只看该作者
    哇啊                  !!!!!!等了10年,人都老了
  • TA的每日心情
    开心
    2021-1-19 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    11#
    发表于 2024-9-23 18:45 | 只看该作者
    怎么那个弧度是在外面而不是里面呢

    “来自电巢APP”

  • TA的每日心情
    开心
    2021-1-19 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    12#
    发表于 2024-9-23 18:47 | 只看该作者
    gogogo冲冲冲 发表于 2024-09-23 18:45:20
    怎么那个弧度是在外面而不是里面呢


    哦知道了,有个弧形中心是在里面,

    “来自电巢APP”

  • TA的每日心情
    奋斗
    2025-3-13 15:44
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    13#
    发表于 2025-1-9 09:58 | 只看该作者
    感谢楼主,确实是好东西

    该用户从未签到

    14#
    发表于 2025-1-9 14:32 | 只看该作者
    可以试一下让GPT帮你写,会不会快些
  • TA的每日心情
    开心
    2025-4-16 15:14
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    15#
    发表于 2025-4-17 17:05 | 只看该作者
    200 字节以内
    不支持自定义 Discuz! 代码
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-4-22 05:20 , Processed in 0.109375 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表