在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 着着着火了

[原创] 添加45°斜边的skill脚本

[复制链接]
发表于 2024-9-24 17:57:56 | 显示全部楼层
这个操作可以用virtuoso自带的工具,先点s框选中直角,在菜单栏选Edit->Advanced->Modify Corner,就可以了
发表于 2024-10-10 13:53:59 | 显示全部楼层
大佬为啥这个有的图形就可以切拐角,有的图形就切不了?
 楼主| 发表于 2024-10-10 14:07:10 | 显示全部楼层


嗡嗡蜜蜂仔 发表于 2024-10-10 13:53
大佬为啥这个有的图形就可以切拐角,有的图形就切不了?


我这脚本不是添加斜边的吗?怎么变成切拐角了?
发表于 2024-12-31 16:32:30 | 显示全部楼层


着着着火了 发表于 2023-6-5 18:13
自动获取当前层级的这个设定我考虑过,如果只是当前层的话没什么问题,但是如果是hierarchy的情况就很容 ...


稍微改了一下,可以支持多点情况,而且不用判断rotation



foreach(point points
            x=car(point)
            y=cadr(point)
            num++
                if(deGetEIP(win) then
                        transformPoints=cons(geWindowToEditPoint(win point) transformPoints)
                else
                        transformPoints=cons(point transformPoints)
                );end if
            if(x != xMax && x != xMin && y != yMax && y != yMin then
                num_flag=num
                ;refPoint=point
                refPoints=cons(point refPoints)
            );end if
        );end foreach
        foreach(i refPoints
                refPoint=i
                when(deGetEIP(win)
                        refPoint=geWindowToEditPoint(win i)
                );end when
                x=xCoord(refPoint)
                y=yCoord(refPoint)
                cond(
                        (dbPointArrayAnd(cv list(list(refPoint x - edgeLength:y x:y - edgeLength)) list(transformPoints)) == nil
                         && length(dbPointArrayXor(cv list(list(refPoint x - edgeLength:y x:y - edgeLength)) list(transformPoints))) == 1
                                targetFig=dbCreatePolygon(cv lpp list(refPoint x - edgeLength:y x:y - edgeLength))
                        )
                        (dbPointArrayAnd(cv list(list(refPoint x - edgeLength:y x:y + edgeLength)) list(transformPoints)) == nil
                         && length(dbPointArrayXor(cv list(list(refPoint x - edgeLength:y x:y + edgeLength)) list(transformPoints))) == 1
                                targetFig=dbCreatePolygon(cv lpp list(refPoint x - edgeLength:y x:y + edgeLength))
                        )
                        (dbPointArrayAnd(cv list(list(refPoint x + edgeLength:y x:y - edgeLength)) list(transformPoints)) == nil
                         && length(dbPointArrayXor(cv list(list(refPoint x + edgeLength:y x:y - edgeLength)) list(transformPoints))) == 1
                                targetFig=dbCreatePolygon(cv lpp list(refPoint x + edgeLength:y x:y - edgeLength))
                        )
                        (dbPointArrayAnd(cv list(list(refPoint x + edgeLength:y x:y + edgeLength)) list(transformPoints)) == nil
                         && length(dbPointArrayXor(cv list(list(refPoint x + edgeLength:y x:y + edgeLength)) list(transformPoints))) == 1
                                targetFig=dbCreatePolygon(cv lpp list(refPoint x + edgeLength:y x:y + edgeLength))
                        )
                );end cond
        );end foreach

发表于 2025-1-2 16:39:51 | 显示全部楼层
本帖最后由 ahogalu 于 2025-1-2 16:53 编辑


jobkong 发表于 2024-12-31 16:32
稍微改了一下,可以支持多点情况,而且不用判断rotation


大佬 你这里面的tranformPoints 这个变量是什么呢 我运行会报错说它未定义,而且程序会进入死循环
是我加错地方了么,我是将楼主脚本后面的num=0这行后面的代码删除 贴上你这段的
发表于 2025-1-2 17:21:15 | 显示全部楼层


ahogalu 发表于 2025-1-2 16:39
大佬 你这里面的tranformPoints 这个变量是什么呢 我运行会报错说它未定义,而且程序会进入死循环
是我加 ...


你要在prog里定义这个变量啊
发表于 7 天前 | 显示全部楼层


jobkong 发表于 2025-1-2 17:21
你要在prog里定义这个变量啊


感谢感谢 可以了哈哈哈 但是想问下这个支持多点是什么意思 我的理解是框多个拐角可以一次性长多个斜边 是我理解错了吗?
发表于 7 天前 | 显示全部楼层


ahogalu 发表于 2025-1-3 09:47
感谢感谢 可以了哈哈哈 但是想问下这个支持多点是什么意思 我的理解是框多个拐角可以一次性长多个斜边 是 ...


就是可以同时给多个拐点加斜边
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-10 18:08 , Processed in 0.019370 second(s), 5 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表