月曜日, 9月 28, 2026
日曜日, 9月 27, 2026
JavaScriptでAI遊び 107
Illustratorで選択オブジェクトを指定数ランダム散布
Illustratorで選択したオブジェクトを数だけ指定してアートボード内に散布させるシンプル処理が必要だったので作ってみました。多分過去に作っていないと思います。処理結果はアートボードからはみ出すことはありません。
(function () {
if (app.documents.length === 0) {
alert("ドキュメントが開かれていません。");
return;
}
var doc = app.activeDocument;
// --------------------------------
// 選択チェック
// --------------------------------
if (doc.selection.length === 0) {
alert("散布するオブジェクトを選択してください。");
return;
}
// --------------------------------
// 散布数を入力
// --------------------------------
var input = prompt(
"散布する個数を入力してください。",
"50"
);
if (input === null) {
return; // キャンセル
}
var count = parseInt(input, 10);
if (isNaN(count) || count < 1) {
alert("1以上の整数を入力してください。");
return;
}
// --------------------------------
// 現在のアートボード
// --------------------------------
var ab = doc.artboards[doc.artboards.getActiveArtboardIndex()];
var abRect = ab.artboardRect;
var abLeft = abRect[0];
var abTop = abRect[1];
var abRight = abRect[2];
var abBottom = abRect[3];
// --------------------------------
// 選択オブジェクトを保存
// --------------------------------
var originals = [];
for (var i = 0; i < doc.selection.length; i++) {
originals.push(doc.selection[i]);
}
// --------------------------------
// 選択オブジェクトをグループ化
// --------------------------------
var group = doc.groupItems.add();
for (var i = 0; i < originals.length; i++) {
originals[i].move(group, ElementPlacement.PLACEATEND);
}
// グループの中心
var gb = group.geometricBounds;
var centerX = (gb[0] + gb[2]) / 2;
var centerY = (gb[1] + gb[3]) / 2;
// --------------------------------
// 複製してランダム散布
// --------------------------------
for (var i = 0; i < count; i++) {
var item = group.duplicate();
// オブジェクトサイズ
var b = item.geometricBounds;
var width = b[2] - b[0];
var height = b[1] - b[3];
// アートボード内に収まる範囲
var minX = abLeft + width / 2;
var maxX = abRight - width / 2;
var minY = abBottom + height / 2;
var maxY = abTop - height / 2;
// ランダム位置
var x = minX + Math.random() * (maxX - minX);
var y = minY + Math.random() * (maxY - minY);
// 移動
item.translate(
x - centerX,
y - centerY
);
// ランダム回転
var angle = Math.random() * 360;
item.rotate(
angle,
true,
true,
true,
true,
Transformation.CENTER
);
}
// --------------------------------
// 元オブジェクトを削除
// --------------------------------
group.remove();
// 選択解除
doc.selection = null;
alert(count + "個のオブジェクトをランダム配置しました。");
})();
べースとなるオブジェクト(※)を選択して実行すると・・・
散布する数を指定します。デフォルトは50。
これが表示されれば問題なく完了です。
処理結果はこんな感じ。
散布数を200にし・・・
これが表示されれば完了です。
処理結果はこんな感じ。ちなみにベースオブジェクトは処理後に削除されます。
ラベル:
Illustrator,
JavaScript
TCDW8902
出せない味わいなので色々悩んでしまう
愛用していた万年筆用のインク価格が7年で2倍になっていて唖然。サインペンやボールペンでは出せない味わいなので色々悩んでしまう・・・(>_<)。今度は耐水インクにしようと思っていますが、色々調べると頻度を考慮すれば、つけペンを使った方が良さそうですね。超アナログで意外といいかも(^o^)
ラベル:
3D,
Cute Baby Alien,
modo,
TCDW
土曜日, 9月 26, 2026
Dreamweaverのファイル管理をお復習い
インターフェースを憶える必要が出たので、Dreamweaverのファイル(サイト)管理のお復習いです。私はHTMLやCSSはVisual Studio Codeを使っています。だから正直Dreamweaverはアウェイ環境なので、ちょっと気になる部分を整理してみることにしました。今回はその第一弾です。ただし、これで終わるかもしれませんけど・・・。
起動したら[新規作成]をクリックします。
※久しぶりに起動したら1年ぶりで、ダミーファイルばかりでした(^o^)汗
新たにゼロから作成する場合は、適当に新規ファイルを作成します。既に出来ている、あるいは支給されたデータ編集の場合は、後述する[サイト]>[サイトの管理]からフォルダーを設定します。
新規ファイルを作成直後の画面です。これで最低限記述されたHTMLファイルが編集待ち状態になります。
※ちなみにDreamweaverのプレビュー画面はちょっとへそ曲がりなところがあって正しく表示されないことがあります。ブラウザーでの確認が必須ですね。そもそもアップデートは今間も行われていますが、正式名は2021となっています。この原稿は2026年7月25日バージョンで行っています。

サンプルとして用意した2つのデータの構造です。
[新規サイト]をクリックし・・・
※ここでは新規ファイルを作成した後に[サイト]>[サイトの管理]を実行しているので背景が、新規ファイル編集画面になっています。
ローカルサイトフォルダー右端のフォルダーアイコンをクリックして、該当ファイルのフォルダーを指定します。
これで使用サイトリストにデータが表示され,選択状態になるので[完了]をクリックします。
次に右端の[ファイル] をクリックするとお指定したデータを表示するので、編集したいHTML等をダブルクリックすれば・・・
編集状態が得られます。
同じように別のデータを編集したい場合は、[サイト]>[サイトの管理]をクリックし・・・
新規サイト]をクリックし、ローカルサイトフォルダー右端のフォルダーアイコンをクリックして、該当ファイルの√フォルダーを指定します。
次に右端の[ファイル] をクリックするとお指定したデータを表示するので、編集したいHTML等をダブルクリックすれば・・・
編集状態が得られます。もちろん左上のデータタグからでも切り替え可能です。
Dreamweaver 21.8.1
ラベル:
Dreamweaver,
HTML,
Web
金曜日, 9月 25, 2026
3Dプリンタ遊び 24
結局、不安定な部分は別パーツですね
3Dプリントのトラブル回避は「不安定な部分は別パーツ」ですね。
3Dプリンタ遊び 23 修正はパテ盛りより部分再プリントが経済的かも 2026/09/23
Bambu Studio Lessons 20 サポートツリーが折れてしまう謎トラブル 2026/09/19Bambu Studioでは直線カットしか出来ないので、Blenderのブーリアン処理を利用して、一番不安定な腕を別パーツとしました。それ以外は全て合成しています。
そのままBambu Studioでデフォルト設定でプリント。
プリント完了直後の状態です。
サポート材を取り除き・・・
胴体に腕を接着して完成です。なお、上の写真は仮組みで実際の接着前の段階です。
Bambu Studio 2.7.1.62
Fusion 2704.1.23 arm64
modo 17.1v1
Blender 5.2.0
eSUN PLA Plus(グレー)
ラベル:
3D,
Bambu Studio,
Blender,
modo
TCDW8900
あのチームでシーズン2を期待したいです
「リーチャー」のスピンオフドラマ「ニーグリー」を16日から毎日1話ずつ視聴して昨夜ラストまで観終わりました。
ニーグリー役のマリア・ステン、
ライリー刑事役のグレイストン・ホルト、
レニー役のアデライン・ルドルフ、
キーノ役のジャスパー・ジョーンズ、
は本当に良かったです。そして、ちょこっとだけ出てくるリーチャー役のアラン・リッチソンはお約束ですね。とにかく、あのチームでシーズン2を期待したいです。ラストはそんな展開ですよね〜。
ラベル:
illustration,
Photoshop,
TCDW
木曜日, 9月 24, 2026
Blender Study Notes 81
3Dプリント用のパーツ分類をブーリアンで
3Dプリント用のパーツ分類をブーリアンで処理する手順を整理しました。
ベースデータはローポリで、そのままのプリントであれば特に問題は無いのですが、ブーリアン処理の場合は粗が出るので・・・
[モディファイアー]>[モディファイアーを追加]>[生成]>[サブディビジョンサーフェース]にて[ビューポートのレベル数]を2ぐらいにして適用します
またデータ構造が上のようになっているので、編集モードで[A]にて全選択してから[]にて[構造的に分離したパーツで]を選んでパーツ分けします。また、それぞれのパーツをわかりやすくするためにリネームします。
後は今回の場合、両腕以外を全て[モディファイアー]>[モディファイアーを追加]>[生成]>[ブーリアン]にて合成します。
ブーリアン処理で取り込んだオブジェクトのデータは残っているので処理毎に非表示とし、最終的に削除します。
最後に両腕はボディーへの食い込み部分をブーリアンで削り取ります。
これでパーツは3つになりました。
ボディーを非表示とし、両腕の付け根部分に小さな立方体をブーリアンで食い込ませます。
次に両腕を非表示とし、ボディだけを表示し手から作成した立方体を若干拡大(※)し、そのサイズでブーリアンにて穴を開けます。これでボディには凹パーツが追加されました。
同様に両腕には凸パーツが追加されました。
これで作業が完了です、slt形式で聞き出します。
Bambu Studionにsltファイルを読み込み、任意サイズ変更してから・・・
右クリック>[分割]>[オブジェクトに]で両腕は水平0地点に落下します。
位置を調整すれば、後はプリントだけです。なお、Blenderで両腕以外をブーリアンの合体を行わない場合は、右クリック>[分割]>[パーツに]にて両腕だけが水平0地点に落下します。
modo 17.1v1
Blender 5.2.0
Bambu Studio 2.7.1.62
ラベル:
3D,
Bambu Studio,
Blender,
Blender Study Notes
TCDW8899
混んでいる車内ではかなりのインパクトでした
しかし、どんなに混んでいても電車の中でゲームに興じていている人が多くて驚きますね。先日は幅30cm程の機種を操作している人を見ました。私はゲーム機を持っていないので機種名は解りませんが、混んでいる車内ではかなりのインパクトでした。
ラベル:
illustration,
Photoshop,
TCDW
水曜日, 9月 23, 2026
3Dプリンタ遊び 23
修正はパテ盛りより部分再プリントが経済的かも
サポートツリーが折れてしまう謎トラブル出10回も無駄プリントしてしまったのですが、冷静に考えれば、2度目からは修正すれば良いことですね。原因が判明して対処しましたが、今回は分割プリントを試して見ました。
そこで腕の部分だけを別パーツとっしてプリントして差し替えることにしました。注意点は元の腕と同じ角度に配置にすることです。そうしないと積層イメージが違ってしまいますから。
後は問題の腕を丁寧に削り取ります。私の場合は以下の手順で処理しました。
1:ニッパや小物用の鋸で大雑把に削り取る
2:ナイフや彫刻刀で残った突起を削り取る
3:パテ盛り
4:パテ乾燥後に金属ヤスリで細部調整
5:紙やすりで仕上げ
処理一歩手前の状態です。
新しい腕の接続部分に両面テープを貼って、反対側の腕に会わせて位置調整し、マスキングテープで位置を確定。
2液式エポキシ系の接着剤を塗布後に数分放置し、貼り付けてから最終的な位置調整を行う。
位置調整を行いながらマスキングテープで固定。
年の為に2日ほど放置して完成です。ヤスリ後などはペイントやサフで誤魔化すことにします。
Bambu Studio 2.7.1.62
Fusion 2704.1.23 arm64
eSUN PLA Plus(グレー)
ラベル:
3D,
Bambu Studio
登録:
投稿 (Atom)




















































