水曜日, 8月 12, 2026

JavaScriptでAI遊び 103 
Illustratorで選択したオブジェクト線幅を指定範囲でランダム設定

選択したオブジェクトの線幅を指定範囲でランダムに設定します。予め全体を任意の線幅に設定しておきます。

// 選択オブジェクトの線幅をランダムに設定

if (app.documents.length === 0) {
alert("ドキュメントを開いてください。");
} else if (app.activeDocument.selection.length === 0) {
alert("オブジェクトを選択してください。");
} else {

var min = Number(prompt("最小線幅(pt)", "0.5"));
var max = Number(prompt("最大線幅(pt)", "5"));

if (isNaN(min) || isNaN(max) || min > max) {
alert("数値を正しく入力してください。");
} else {

var sel = app.activeDocument.selection;

for (var i = 0; i < sel.length; i++) {
setStrokeRandom(sel[i], min, max);
}

alert("完了しました。");
}
}

function setStrokeRandom(obj, min, max) {

switch (obj.typename) {

case "PathItem":
if (obj.stroked) {
obj.strokeWidth = random(min, max);
}
break;

case "CompoundPathItem":
for (var i = 0; i < obj.pathItems.length; i++) {
if (obj.pathItems[i].stroked) {
obj.pathItems[i].strokeWidth = random(min, max);
}
}
break;

case "GroupItem":
for (var j = 0; j < obj.pageItems.length; j++) {
setStrokeRandom(obj.pageItems[j], min, max);
}
break;
}
}

function random(min, max) {
return min + Math.random() * (max - min);
}

ここでは全体を1ptに設定して実行すると・・・

最小線幅を設定し・・・

続けて最大線幅を設定すれば・・・


直ぐに完了します。

処理結果はこんな感じです。

※Illustratorのアップデートで不具合が出る場合があります。気がついた時点でデバッグするように心がけていますが、すぐに対応できないのでご容赦ください。

TCDW8856 
どの動画を再生しても表示されてイライラしています

ここのところYouTubeで必ず尺の長い同じ広告が再生されて辟易しています。全く興味ないし私の生活には完全に無縁のジャンルで私にとっては不快100%。しかもどの動画を再生しても必ず表示されてイライラしています。まっ、四六時中観ているわけではないし、登録も皆無なので、暫くYouTubeは見ないようにしています。

火曜日, 8月 11, 2026

Photoshopのフィルターは方眼でイメージを掴む

Photoshopの変形系フィルターは方眼でイメージを掴むと理解しやすいです。処理は解像度に依存するので、任意の解像度で実際に確認してみてください。


用意した方眼データです。処理は正方形のファイルサイズの放下効果的です。

[フィルタ]>[ピクセレート]>[モザイク]の結果


[フィルタ]>[変形]>[波形]の結果


[フィルタ]>[変形]>[シアー]の結果


[フィルタ]>[変形]>[渦巻き]の結果

[フィルタ]>[変形]>[極座標]の結果

[フィルタ]>[変形]>[つまむ]の結果


[フィルタ]>[変形]>[球面]の結果

 意外と楽しいです。

TCDW8855 
個人的にはアラン・リッチソン版の方が好きです

アラン・リッチソン主演の『リーチャー ~正義のアウトロー~』シーズン4がいよいよ8月12日から配信ですね。トム・クルーズ版の映画2本も良かったけれど、彼だとスマートすぎますね。個人的にはアラン・リッチソン版の方が好きです。

月曜日, 8月 10, 2026

Excel VBA 56 
ExcelでA列の塗り色をB列にRGB表示

A列の塗り色をB列に範囲を指定してRGB表示します。

Sub OutputRGB()

Dim ws As Worksheet
Dim startRow As Long
Dim endRow As Long
Dim i As Long
Dim clr As Long
Dim r As Long, g As Long, b As Long

Set ws = ActiveSheet

startRow = CLng(InputBox("開始行を入力してください", "開始行"))
endRow = CLng(InputBox("終了行を入力してください", "終了行"))

If startRow > endRow Then
MsgBox "開始行は終了行以下にしてください。"
Exit Sub
End If

For i = startRow To endRow

clr = ws.Cells(i, "A").Interior.Color

r = clr Mod 256
g = (clr / 256) Mod 256
b = (clr / 65536) Mod 256

ws.Cells(i, "B").Value = "RGB(" & r & ", " & g & ", " & b & ")"

Next i

MsgBox "完了しました。"

End Sub

データを用意して実行すると・・・

開始行を指定し・・・

終了行を指定すれば・・・

完了です。

こんな感じになります。

TCDW8854 
0.5mmが無いのか自分でもよく分からないです

久しぶりにちょっとした製図を作成するので製図用シャープペンシルを出してきたら、0.3mmと0.7mmが3本ずつだったのに、何故0.5mmが無いのか自分でもよく分からないです。

日曜日, 8月 09, 2026

FreeCAD Modeling 12 
Illustratorデータを回転体に活用

FreeCADで回転体を作成する場合、利便性の高いIllustratorでベースデータを作成して活用する手順を整理しました。

Illustratorで作図した回転体のパスを太らせてから[オブジェクト]>[パス]>[パスの吾アウトライン]してから、SVG形式で書き出しました。

FreeCADのインポートでIllustratorから書き出したSVGファイルを指定します。

読み込まれた直後の状態。このままでも問題ありませんが、ここではZ軸で回転させることにしたので・・・

選択してから右クリックで[変換]を選び・・・

90度回転させます。

ここで画面上のワークベンチ切り替えを [Draft] に変更し・・・

形状のパス[Path]を選択してから・・・

メニューの [変更]>[アップグレード]をクリックし・・・

ワークベンチを[Part] に切り替え・・・

メニューの [Part]>[回転] をクリックし、回転軸を[1]、角度を360とすれば・・・

完成です。

FreeCAD 1.1.1 arm64

TCDW8853 
プチ外出用で、そろそろ買い換え時期

Cute Baby Alien 055(^o^)
耳付きヘルメットの宇宙服・・・。
チョットした外出用に200mlの水筒を買いました。ステンレス製です。これで私の水筒軍団は・・・
700ml(終日外出用/現役)
350ml(仕事部屋用/三代目)
200ml(プチ外出用/新規)
140ml(プチ外出用/そろそろ買い換え時期)

土曜日, 8月 08, 2026

Blender Study Notes 79 
ベジェ操作はIllustratorとかなり異なる(3)

ベジェデータを元にモデリングしたい場合は、ついつい慣れているIllustratorで作成してからBlenderに読み込んでいるのですが、Blenderだけでも処理出来るようにすることは大切ですね。ということで、前回の続きです。

Blender Study Notes 77 ベジェ操作はIllustratorとかなり異なる(1)2026/07/30

今回は、完全な無の状態からのベジェ操作です。まず、オブジェクトモードで[追加]>[カーブ]>[ベジエ]にてベジュを追加します。

続けて編集モードに切り換えてから[A]キーでベジエを全選択し、[X]キーにて[頂点]を選んで全削除します。Blenderでは無の状態から編集モードに切り換えるのとが出来ないので、この手順が必要です。

あとは任意の位置をcommandキー(※)を併用して右クリックすることで、クリックした位置にハンドル付きのポイントが追加されます。

※Windowsの場合はcontrolキー

後はこれを続けていくだけです。

ここでは半円を作成するので、3回行いました。

ここで、3つのポイントのどれか、または全部を選択して・・・

option C(※)を実行するとオープンパスを閉じてクローズパスに変更されます。もし、クローズパスをオープンパスとしたい場合は、削除したいセグメントを囲むポイントを両方とも選択し、[X]キーで[セグメント]を選択すれば削除出来ます。

※Windowsの場合は alt C

続けて垂直線にしたいセグメントを囲むポイントを両方とも選択し、[V]キーで[ベクトル]を選択するとハンドルが折れて直線に変わります。なお、このときの他の選択肢の結果は・・・
[自動]滑らかなカーブを維持
[ベクトル]ハンドルが直線となり角を生成
[整列]個別に調整可能な左右のハンドルを元の連動に変更
[フリー]左右のハンドルを個別に調整可能

あとは[オブジェクトモード]に切り換えれば完成です。 実用に応じて右クリックの[細分化]等を行うことで面や辺を増やして細かく分割すれば、形状を滑らかにしたり変形しやすくしたりします。

Blender 5.2.0

TCDW8852 
もうこれがない珈琲生活は考えられません

4月に購入したデロンギの全自動コーヒーマシンが、接触不良で調子悪くなったのでサポートに連絡したら、速攻で引取りが来て中2日で調整・問題解決して戻ってきました。メチャクチャサポート優秀で感激しました。もうこれがない珈琲生活は考えられません(^o^)