QQ登录

只需一步,快速开始

查看: 34065|回复: 99
收起左侧

尺寸标注华印专版----全新源码

  [复制链接]
累计签到:109 天
连续签到:1 天
发表于 2016-6-21 19:55:28 | 显示全部楼层 |阅读模式
尺寸标注华印专版----全新源码{tag}(1)

尺寸标注华印专版----全新源码。基本上重新写过,修正了标注不在外框中心的BUG.

评分

参与人数 1印币 +90 收起 理由
admin + 90 绝对全新源码,这个大家有福气了

查看全部评分

华印网相关搜索

累计签到:109 天
连续签到:1 天
 楼主| 发表于 2016-6-21 20:01:59 | 显示全部楼层
本帖最后由 poshuixukong 于 2016-6-21 20:04 编辑

[sell=6][mw_shl_code=javascript,true]#target Illustrator
#targetengine main
var win = new Window ("palette {margins:['10', 15, '10', 10], \
        ABPnl尺寸标注华印专版----全新源码{tag}(2)anel {text:'尺寸标注', alignment:['fill', 'fill'], margins:[15, 20, 15, '13'], \
                xlong:Button {text:'标注 X', preferredSize:[110, 25]}, \
                yhigh:Button {text:'标注 Y', preferredSize:[110, 25]}, \
                sp0尺寸标注华印专版----全新源码{tag}(3)anel { isSeparator:true, }, \
                longhigh:Button {text:'标注 X/&Y', preferredSize:[110, 30]}}, \
        TEXT:StaticText {text:'★★华印专版★★  ', alignment:['right', 'center']}}");
var sp0 = win.ABPnl.sp0;
if (sp0.parent.orientation == 'column') { sp0.maximumSize[1] = 1; sp0.alignment = ['fill', 'top']; } else { sp0.maximumSize[0] = 1; sp0.alignment = ['left', 'fill']; };;
var TEXT = win.TEXT;
var gfx = TEXT.graphics;
gfx.foregroundColor = gfx.newPen(gfx.PenType.SOLID_COLOR, [0, 0, 0.54509803921569, 1], 1);

win.ABPnl.xlong.onClick = function() {
    var ABtwoMessage="drawSize(true,false)\n"+drawSize.toSource();
    fMsg(ABtwoMessage);
}

win.ABPnl.yhigh.onClick = function() {
    var ABtwoMessage="drawSize(false,true)\n"+drawSize.toSource();
    fMsg(ABtwoMessage);
}

win.ABPnl.longhigh.onClick = function() {
    var ABtwoMessage="drawSize(true,true)\n"+drawSize.toSource();
    fMsg(ABtwoMessage);
}


win.show();
function fMsg(a) {
    var b = new BridgeTalk;
    b.target = "illustrator";
    b.body = a;
    b.send()
    }
function drawSize(X, Y) {
unit = "mm";
if (unit == "mm") {
    v = 72 / 25.4;
} else if (unit == "pt") {
    v = 1;
}
l = 8 * v;
lineWidth = 0.3 * v;
dis1 = 0.5 * v;
dis2 = 0.1 * v;
arrSize = 4 * v;
fontSize = 6 * v;
arrScale = 1.5;
dotN = 2;
dotArr = [1, 10, 100, 1000, 10000];
dotN = dotArr[dotN];
doc = app.activeDocument;
sel = doc.selection;
var layercheck = false;
for (var i = 0; i < doc.layers.length; i++) {
    if (doc.layers.name == '尺寸标注') {
        mylayer = doc.layers;
        layercheck = true;
    }
}
if (layercheck == false) {
    mylayer = doc.layers.add();
    mylayer.name = '尺寸标注';
    mylayer.move(doc, ElementPlacement.PLACEATBEGINNING);
}
var kValue = 0,
    cValue = 100,
    mValue = 0,
    yValue = 0;
vColor = new CMYKColor();
vColor.black = kValue - 0;
vColor.cyan = cValue - 0;
vColor.magenta = mValue - 0;
vColor.yellow = yValue - 0;
for (var i = 0; i < sel.length; i++) {
    x = sel.geometricBounds[0];
    y = sel.geometricBounds[1];
    w = sel.width;
    h = sel.height;
    wArr = [
        [
            [0, 0],
            [0, l]
        ],
        [
            [w, 0],
            [w, l]
        ],
        [
            [0, l / 2],
            [w, l / 2]
        ],
        [
            [arrSize * arrScale, l / 2 - arrSize / 2],
            [0, l / 2],
            [arrSize * arrScale, l / 2 + arrSize / 2]
        ],
        [
            [w - arrSize * arrScale, l / 2 - arrSize / 2],
            [w, l / 2],
            [w - arrSize * arrScale, l / 2 + arrSize / 2]
        ]
    ];
    hArr = [
        [
            [0, 0],
            [l, 0]
        ],
        [
            [0, -h],
            [l, -h]
        ],
        [
            [l / 2, 0],
            [l / 2, -h]
        ],
        [
            [l / 2 + arrSize / 2, -arrSize * arrScale],
            [l / 2, 0],
            [l / 2 - arrSize / 2, -arrSize * arrScale]
        ],
        [
            [l / 2 + arrSize / 2, arrSize * arrScale - h],
            [l / 2, -h],
            [l / 2 - arrSize / 2, arrSize * arrScale - h]
        ]
    ];
    wPosition = [w / 2, l / 2];
    hPosition = [l / 2, -h / 2];
    if (X == true) {
        g = mylayer.groupItems.add();
        for (var ii = 0; ii < wArr.length; ii++) {
            var line = g.pathItems.add();
            line.setEntirePath(wArr[ii]);
            line.strokeColor = vColor;
            line.filled = false;
        }
        var text = g.textFrames.add();
        text.textRange.characterAttributes.size = fontSize;
        text.textRange.characterAttributes.fillColor = vColor;
        text.contents = Math.round(w / v * dotN) / dotN + unit;
        text.left = wPosition[0] - text.width / 2;
        text.top = wPosition[1] + text.height + dis2;
        g.position = [x, y + g.height + dis1];
    }
    if (Y == true) {
        g = mylayer.groupItems.add();
        for (var ii = 0; ii < hArr.length; ii++) {
            var line = g.pathItems.add();
            line.setEntirePath(hArr[ii]);
            line.strokeColor = vColor;
            line.filled = false;
        }
        var text = g.textFrames.add();
        text.textRange.characterAttributes.size = fontSize;
        text.textRange.characterAttributes.fillColor = vColor;
        text.contents = Math.round(h / v * dotN) / dotN + unit;
        text.rotate(90);
        text.left = hPosition[0] - text.width - dis2;
        text.top = hPosition[1] + text.height / 2;
        g.position = [x - g.width - dis1, y];
    }
}
}
   





[/mw_shl_code][/sell]

点评

非常不错的资源,感谢您的共享!!!: 5.0
非常不错的资源,感谢您的共享!!!: 5
亲测完美,其他兄弟要是有问题跟帖探讨,切勿言语激进!  发表于 2016-6-21 20:14
累计签到:824 天
连续签到:1 天
发表于 2016-6-21 20:46:27 | 显示全部楼层
本帖最后由 QQ1750706198 于 2016-6-21 21:09 编辑

看这个箭头更漂亮了,把文件文本方式吧,复制的用不了
更多图片 小图 大图
组图打开中,请稍候......
累计签到:80 天
连续签到:1 天
发表于 2016-6-21 21:06:52 | 显示全部楼层
不错,挺实用的,制图标示方便多了.
累计签到:171 天
连续签到:1 天
发表于 2016-6-21 21:25:00 | 显示全部楼层
确实挺方便,建议楼主写出适合那些版本,方便大家有需要的下载。
累计签到:109 天
连续签到:1 天
 楼主| 发表于 2016-6-21 22:08:53 | 显示全部楼层
小辉数码 发表于 2016-6-21 21:25
确实挺方便,建议楼主写出适合那些版本,方便大家有需要的下载。

应该啥版本都 吧
累计签到:416 天
连续签到:0 天
发表于 2016-6-22 07:00:13 | 显示全部楼层
这个比cad更简单明了,符合我们的习惯
累计签到:44 天
连续签到:0 天
发表于 2016-6-22 08:22:18 | 显示全部楼层
很实用
脚本.jsx应该哪个版本都能用的
累计签到:1025 天
连续签到:1 天
发表于 2016-6-22 08:43:32 | 显示全部楼层
不错,一直在用CADTOOL,下来玩玩,
累计签到:1183 天
连续签到:10 天
发表于 2016-6-22 09:17:56 | 显示全部楼层
购买了,不能用啊(和3楼一样的提示)
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

注意注意注意:必看上一条 /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-4-19 22:34 , Processed in 0.032418 second(s), 32 queries , Gzip On, Yac On.

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