- 締切済み
Illustratorの面積測定スクリプトが変な挙動をします
いつもお世話になっております。 以下のようなスクリプトを書いて、 Illustratorの図形の面積を求めようと思っています。 レイヤごとに、中にあるパスアイテムの面積を総計したものを、 エクセルのシートに書き出すスクリプトです。 一応、動作はするのですが、以下の2点について、 よくわからない挙動をします。 1. 面積が約2倍になってでてくる。 テストで、10 mm × 10 mm の四角形を作り、 その面積を測ったのですが、約200になりました。 何故か、約2倍になってしまいます。 2. 多角形の面積がマイナスで出てくる。 面積を測りたい実際の図形が多角形です。 スクリプティング・ガイドは読んだのですが、 PathItem の Area の「四角形~」というのがよくわかりません。 上の、2点について、回答頂けますよう、 よろしくお願い致します。 Sub レイヤごとのパスアイテムの面積_作成中() Dim illApp As New Illustrator.Application Dim myDoc As Illustrator.Document Dim mm As Single, areaVal As Single Dim i As Integer Dim p As PathItem Dim l As Layer Set myDoc = illApp.ActiveDocument mm = 2.834645 i = 1 For Each l In myDoc.Layers areaVal = 0 If l.PathItems.Count <> 0 Then For Each p In l.PathItems areaVal = areaVal + p.Area Next p Range("A" & i).Value = l.Name Range("B" & i).Value = areaVal / mm / mm i = i + 1 End If Next l End Sub
- みんなの回答 (2)
- 専門家の回答
お礼
ありがとうございます。 上記回答を参考に、スクリプトを組みました。 (最初から明記するべきでした、すいません。) Countについては、関係ないと思います。 レイヤについては、一つだけですし、存在するパスアイテムもひとつだけです。 (テスト用に、レイヤがひとつ、パスアイテムもひとつというファイルをつくって試してみています。)