luceda ipkiss教程 4:利用ipkiss画多边形

直接利用ipkiss 的 i3.RegularPolygon 画多边形

from si_fab import all as pdk
from ipkiss3 import all as i3

class N_side_polygon(i3.PCell):

    _name_prefix = "N_side_polygon"
    trace_template = i3.TraceTemplateProperty(doc="Trace template of the access waveguide")
    center = i3.Coord2Property(default=(0.0, 0.0), doc="Center of the polygon")
    radius = i3.PositiveNumberProperty(default=1.0, doc="Radius of the polygon")
    n_o_sides = i3.IntProperty(default=8, restriction=i3.RestrictRange(lower=3), doc="Number of sides fo the polygon")
    def _default_trace_template(self):
        return pdk.SiWireWaveguideTemplate()

    class Layout(i3.LayoutView):
        def _generate_elements(self, elems):
            elems += i3.RegularPolygon(
                layer=self.trace_template.core_layer,
                center=self.center,
                radius=self.radius,
                n_o_sides=self.n_o_sides,
            )
            return elems

if __name__ == '__main__':
    polygon = N_side_polygon(
        center=(0,0),
        radius=100,
        n_o_sides=10,
    )
    demo = polygon.Layout()
    demo.visualize(annotate=True)

运行结果如下:
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值