[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:979) Re: [AS-Illustrator CS] 線分の作成
あぁ、勘違い。
高さを0にしてもパスポイントは生きてました(^^;;;;;
tell application "Illustrator CS"
activate
--変数の宣言(単位はpt。mmを使いたいならmy_ptを掛ければよい)
set my_pt to 2.834644
set line_width to 0.1 --線幅
set dash_x to 1.69 --破線の実線長さ
set dash_y to 0.56 --破線の空白長さ
set line_length to 317 * my_pt --線の長さ
set line_angle to 157 --線の角度
set line_color to {class:CMYK color info, cyan:0.0, magenta:0.0, yellow:0.0, black:100.0} --スミ100%
set doc_h to height of document 1 --ドキュメントの高さ
set doc_w to width of document 1 --ドキュメントの幅
set dup_cnt to 10
set dup_move to 6.66 --移動量
set dup_angle to 23 --複製角度
set dup_angle_r to dup_angle * pi / 180 --ラジアン角度
set dup_mv_Y to dup_move * (do shell script "ruby -e 'print Math.sin(" & dup_angle_r & ")'")
set dup_mv_X to dup_move * (do shell script "ruby -e 'print Math.cos(" & dup_angle_r & ")'")
--set dup_mv_Y to 2.602269315739 --移動量Y ←計算時間がもったいないなら、こちらを使う
--set dup_mv_X to 6.130562323993 --移動量X ←計算時間がもったいないなら、こちらを使う
--破線の生成
set my_pathitem to make new polygon at beginning of document 1 ¬
with properties {sides:4}
--プロパティの設定
tell my_pathitem
delete path point 4 --余分なパスポイントの削除
delete path point 2 --余分なパスポイントの削除
set width to line_length
set stroke width to line_width
set stroke cap to butted
set stroke dashes to {dash_x, dash_y}
set stroke color to line_color
set position to {(doc_w - line_length) / 2, doc_h / 2}
end tell
--回転
rotate my_pathitem angle line_angle about center
--複製して移動
repeat with i from 1 to dup_cnt
set tmp_obj to duplicate my_pathitem
translate tmp_obj delta x dup_mv_X delta y dup_mv_Y
end repeat
end tell