QQ登录

只需一步,快速开始

楼主: 绿草地
收起左侧

CDR GMS插件 生成序号功能

  [复制链接]
累计签到:941 天
连续签到:14 天
 楼主| 发表于 2023-9-14 22:21:33 | 显示全部楼层
fengyelin 发表于 2023-9-14 22:04
陈哥有没有可以自动给异形中心画最大内切圆`

数学学的不是很好。不知道怎么计算的,很多公式都不会用了。你要是把计算过程发给我,我可以帮你转代码化,也许能成功。应该很复杂。多边形已经很复杂了。要是再带弧线,应该就更复杂了吧。这方面没有什么研究。
回复 支持 反对 送花

使用道具 举报

累计签到:440 天
连续签到:11 天
发表于 2023-9-15 09:21:16 | 显示全部楼层
绿草地 发表于 2023-9-14 21:08
最近时间少,基本功能已经实现。还在调试中,你发个你常用的图上来,我有空测试测试。 ...

陈哥,你好,文件有点大,只能这样上传了.链接:https://pan.baidu.com/s/15H9SKPL7GOBN8TKX_CoA5w?pwd=6jry
提取码:6jry

回复 支持 反对 送花

使用道具 举报

累计签到:186 天
连续签到:1 天
发表于 2023-9-15 17:34:14 | 显示全部楼层
绿草地 发表于 2023-9-14 22:21
数学学的不是很好。不知道怎么计算的,很多公式都不会用了。你要是把计算过程发给我,我可以帮你转代码化 ...

Dim Pi As Double: Pi = 4 * Atn(1)
ActiveDocument.Unit = cdrMillimeter
Dim s1 As Shape, i As Integer, pA, pB, pC, pD, O, arrP(72)
Set s1 = ActiveSelectionRange.Shapes(1)
Dim p(): ReDim p(s1.Curve.Nodes.Count - 1)
For i = 0 To UBound(p)
p(i) = Array(s1.Curve.Nodes(i + 1).PositionX, s1.Curve.Nodes(i + 1).PositionY)
Next
Dim gama As Double, gama0 As Double, u As Double, v As Double
-- centre O
pA = Array(p(0)(0) + 0.5 *(p(1)(0) -p(0)(0)), p(0)(1) + 0.5 * (p(1)(1) -p(0)(1)))
pB = Array(p(3)(0) + 0.5 *(p(2)(0)-p(3)(0)), p(3)(1) + 0.5 *(p(2)(1)-p(3)(1)))
pC = Array(p(0)(0) + 0.5 * (p(3)(0) - p(0)(0)), p(0)(1) + 0.5 * (p(3)(1) - p(0)(1)))
pD = Array(p(1)(0)+ 0.5 *(p(2)(0) -p(1)(0)), p(1)(1)+ 0.5 *(p(2)(1)-p(1)(1)))
O = math.segsCross(pA, pB, pC, pD)
---- getting gama0 (i.e. pD) ----
u = 0.5 + 0.5 * Cos(0):v = 0.5 +0.5 * Sin(0)
pD = Array(p(1)(0) + v *(p(2)(0)-p(1)(0)),p(1)(1) + v *(p(2)(1)-p(1)(1)))
gamaO = math.alfaPP_inArc(pD, O)
start
Fori = 0 To 72
gama =i*5*(Pi/180)
u = 0.5 + 0.5 * Cos(gama - gama0)
v = 0.5 + 0.5 * Sin(gama - gama0)
pA = Array(p(0)(0) + u * (p(1)(0) - p(0)(0)), p(0)(1) + u * (p(1)(1) - p(0)(1)))
pB = Array(p(3)(0) + u * (p(2)(0) - p(3)(0)), p(3)(1) + u * (p(2)(1) - p(3)(1)))
pC =Array(p(0)(0) + v*(p(3)(0) -p(0)(0)),p(0)(1) +v*(p(3)(1)-p(0)(1)))
pD = Array(p(1)(0) + v * (p(2)(0) -p(1)(0)), p(1)(1) + v * (p(2)(1) - p(1)(1)))
arrP(i) = math.segsCross(pA, pB, pC, pD)
Next
Set s1 = draw.BezierX(arrP)
这段代码可以在多边形做内切圆,但我看不懂怎么运行
回复 支持 反对 送花

使用道具 举报

累计签到:941 天
连续签到:14 天
 楼主| 发表于 2023-9-16 17:01:21 | 显示全部楼层
流雲 发表于 2023-9-15 09:21
陈哥,你好,文件有点大,只能这样上传了.链接:https://pan.baidu.com/s/15H9SKPL7GOBN8TKX_CoA5w?pwd=6 ...

巡边功能,已经测试完成,有问题的地方也作了说明 ,你自己看一下。现在已发新贴。你去看看吧。
回复 支持 反对 送花

使用道具 举报

累计签到:941 天
连续签到:14 天
 楼主| 发表于 2023-9-16 17:07:35 | 显示全部楼层
fengyelin 发表于 2023-9-15 17:34
Dim Pi As Double: Pi = 4 * Atn(1)
ActiveDocument.Unit = cdrMillimeter
Dim s1 As Shape, i As Intege ...

测试了这段代码,代码不全,重要的2个函数没有:math.segsCross(pA, pB, pC, pD),draw.BezierX(arrP),这里它有2个函数调用。所以我也无能为力了。找landboy 兰雅大神看看,他应该是可以了。
回复 支持 反对 送花

使用道具 举报

累计签到:652 天
连续签到:2 天
发表于 2023-9-18 16:12:16 | 显示全部楼层
绿草地 发表于 2023-8-27 18:35
花费了几天的空闲时间

今天终于测试完成。

怎么我的X6用不到编号插件呀?
回复 支持 反对 送花

使用道具 举报

累计签到:652 天
连续签到:2 天
发表于 2023-9-18 16:19:27 | 显示全部楼层
我的X4只能用编号,X6只能用序号CDR GMS插件 生成序号功能{tag}(1)
回复 支持 反对 送花

使用道具 举报

累计签到:941 天
连续签到:14 天
 楼主| 发表于 2023-9-18 21:03:29 | 显示全部楼层
samupday 发表于 2023-9-18 16:19
我的X4只能用编号,X6只能用序号

我用X4,6测试都是没有问题,不知道你出错,是哪个地方。报错还是没有反应。可以截图或录一下发上来看看。看看你的操作对不对。再读一下功能说明。一定要正常操作。
回复 支持 反对 送花

使用道具 举报

累计签到:652 天
连续签到:2 天
发表于 2023-9-19 09:57:53 | 显示全部楼层
绿草地 发表于 2023-9-18 21:03
我用X4,6测试都是没有问题,不知道你出错,是哪个地方。报错还是没有反应。可以截图或录一下发上来看看 ...

今天重新试过,又行了。
回复 支持 反对 送花

使用道具 举报

累计签到:12 天
连续签到:2 天
发表于 2023-9-20 13:18:16 | 显示全部楼层
有全功能的没,兄弟们有的吗?
回复 支持 反对 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

注意注意注意:必看上一条 /1 下一条

华印网 - 华印社区
Share More 周一至周日:09:00 - 21:00
华印网旗下的设计印刷制作类专业技术站点
请勿发布违反国家法律法规的内容,会员观点不代表本站立场
企鹅群号:119572101

华印网汇集印前印后技术、PDF拼版、防伪包装、数码印刷、合版印刷、图文设计、平面设计、数码印刷及CTP等最新印刷技术,提供软件汉化、插件汉化、cdr插件、ai插件、ps插件、pdf插件、印刷流程、ctp输出、印刷软件、印能捷、esko、CorelDRAW、InDesign、Illustrator、CTP、CDR以及PDF软件下载的综合性印刷论坛社区!

Powered by Discuz! X3.4 © 2001-2021,Tencent Cloud.

站点地图|小黑屋|手机版|Archiver|华印 ( 粤ICP备19020152号-1 )

GMT+8, 2024-5-15 06:52 , Processed in 0.033375 second(s), 29 queries , Gzip On, Yac On.

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