日曜日, 5月 17, 2026

TCDW8769 
本気の反対語の「冗談、浮気、嘘ん気、遊び」のどれになるか

Cute Baby Alien 034(^o^)
クッション星人・・・とか。
クッションを進化させれば、ぬいぐるみ風のキャラも可能性は出てきますね。一応試行錯誤していますが・・・ムズそうで本気が出ていません。でも、本気の反対語の「冗談、浮気、嘘ん気、遊び」のどれになるかが即答できない(^o^)

土曜日, 5月 16, 2026

JavaScriptでAI遊び 92 
Illustratorでオブジェクトのアンカーポイントを均一に

イラレでクローズパスのオブジェクトののアンカーポイントを均一にします。ただし処理後はハンドルは生成しません。難しい(^o^)汗


(function () {

var doc = app.activeDocument;
var sel = doc.selection;

if (!sel.length) {
alert("オブジェクトを選択してください");
return;
}

var targetCount = Number(prompt("アンカーポイント数", 30));
if (!targetCount || targetCount < 3) return;

var DIV = 20; // ← 曲線分割精度(大きいほど滑らか)

function bezier(p0, p1, p2, p3, t) {
var mt = 1 - t;
return [
mt*mt*mt*p0[0] + 3*mt*mt*t*p1[0] +
                3*mt*t*t*p2[0] + t*t*t*p3[0],
mt*mt*mt*p0[1] + 3*mt*mt*t*p1[1] +
                3*mt*t*t*p2[1] + t*t*t*p3[1]
];
}

for (var i = 0; i < sel.length; i++) {

if (sel[i].typename !== "PathItem") continue;
var path = sel[i];
if (!path.closed) continue;

var pts = path.pathPoints;
var sampled = [];

// ベジェを細かく分割
for (var j = 0; j < pts.length; j++) {

var p0 = pts[j].anchor;
var p1 = pts[j].rightDirection;
var next = pts[(j+1) % pts.length];
var p2 = next.leftDirection;
var p3 = next.anchor;

for (var k = 0; k < DIV; k++) {
var t = k / DIV;
sampled.push(bezier(p0, p1, p2, p3, t));
}
}

// 閉じる
sampled.push(sampled[0]);

// 長さの計算
var lengths = [];
var total = 0;

for (var j = 0; j < sampled.length - 1; j++) {
var dx = sampled[j+1][0] - sampled[j][0];
var dy = sampled[j+1][1] - sampled[j][1];
var len = Math.sqrt(dx*dx + dy*dy);
lengths.push(len);
total += len;
}

var step = total / targetCount;

var newPts = [];
var acc = 0;
var seg = 0;

for (var n = 0; n < targetCount; n++) {

var target = n * step;

while (acc + lengths[seg] < target) {
acc += lengths[seg];
seg++;
}

var remain = target - acc;
var r = remain / lengths[seg];

var pA = sampled[seg];
var pB = sampled[seg+1];

var x = pA[0] + (pB[0] - pA[0]) * r;
var y = pA[1] + (pB[1] - pA[1]) * r;

newPts.push([x, y]);
}

// 新規パス作成
var newPath = doc.pathItems.add();
newPath.setEntirePath(newPts);
newPath.closed = true;
newPath.stroked = true;
newPath.filled = false;

path.remove();
}

})(); 

オブジェクトを洗濯して実行すると・・・

デフォルトの設定値30が表示されまっす。そのまま[OK]で・・・

30個のアンカーポイントを均一配置した結果になります。

少なく設定すれば・・・

こんな感じです。
カーブを保つのは今後の課題です(^o^)汗

TCDW8768 
ARM版がないとういお約束でオワコン化まっしぐら

先日ネタにしましたがmacOSのARM対応問題でintel対応版のデッドラインが近づいているのですが、便利なツール類が色々ぶち当たっていて涙目状態。おおむねARM版がないとういお約束でオワコン化まっしぐら・・・(>_<)

金曜日, 5月 15, 2026

Bambu Studio Lessons 13 
パーツ分割とコネクタ設定、プリント配置

パーツ分割とコネクタ設定、プリント配置について整理してみました。

Bambu Studio Lessons

modoで作成したキャラクタ。

Bambu Studioに読み込んでカットツールにて分割をしようとすると、上半身と足を分割しようとすると腕の一部も分割されてしまいます。

腕を分割分割しようとすると足の一部も分割されてしまいます。

そこで、modeに戻って腕の位置を変更しました。

これで上半身と足を綺麗に分割事が可能になりました。

コネクタを設定(※)し・・・

※プリント後にミスが発生(>_<)

分割した直後の状態。

続けて胴体と腕を分離します。

完全に分割した直後(※)の状態。

※胴体は位置調整していますが、これではダメなことが判明。

そのまま、プリント設定でサポート材を確認すると、このような結果になり、このままプリントするとヤスリがけなどの後処理に苦労します。

そこで試行錯誤の末、このように配置することでサポート材が少なく、後処理が格段に楽になります。角度って大切ですね。また付け根を必ず底面にする必要がないことに気がつきました。 


プリント結果です。グレーは比較用です。後ろがmodo上で分割(※)した結果。手前がBambu Studioで分割した結果です。

※コネクタを付けるの忘れてしまい接着には苦労しました(>_<)

コネクタ設定でミスってしっまいました。こんな時は3Dペンがあると便利なのですが、アレは無駄に高いですからね。さりとて直接アッチから買うのはリスクがありすぎるのでパス。

※Bambu Studio 2.5.3.61
※使用したフィラメント
 ANYCUBIC PLA(質感グレー)
 GEEETECH PLA(オレンジ)
 GEEETECH PLA(ウォーターブルー)

TCDW8767 
もしかして見えていたのは私だけ?

数日前に出向いた街の駅で改札を出てから、ずうっと私の前を歩いていた腰の曲がった老人が・・・2時間後に用件を済ませてビルから出たら、やはり私の前を歩いているのです。ちょっとホラーでした。もしかして見えていたのは私だけ?

木曜日, 5月 14, 2026

Photoshopで画像をサイズ変更して配置のオンオフ

質問がありましたので・・・
Photoshopの[Photoshop]>[設定]>[一般]で[画像をサイズ変更して配置]のオンオフの違いを整理しました。デフォルトではオンになっています。

用意した画像A
4000×3000pixel
72ppi
141.11cm×105.83cm

用意した画像B
1600×1200pixel
72ppi
56.44cm×42.33cm


まず、画像Aの解像度を350ppiに変更し・・・

[Photoshop]>[設定]>[一般]で[画像をサイズ変更して配置]をデフォルトのオフに設定し、[ファイル]>[埋め込み配置]で画像Bを配置すると・・・

このような状態になります。これは
350ppiの画像Aのサイズ29.03cm×21.77cm
に対して
72ppiの画像Bのサイズが56.44cm×42.33cm
となるからです。

次に、同じ設定で[Photoshop]>[設定]>[一般]で[画像をサイズ変更して配置]をオンに設定し、[ファイル]>[埋め込み配置]で画像Bを配置すると・・・

このような状態になります。これは
350ppiの画像Aのサイズ29.03cm×21.77cm
に対して
72ppiの画像Bのサイズ56.44cm×42.33cm
が自動的に29.03cm×21.77cmに調整されるためです。

逆に、[Photoshop]>[設定]>[一般]で[画像をサイズ変更して配置]をデフォルトのオフに設定し、[ファイル]>[埋め込み配置]で画像Bを配置すると・・・

72ppiの画像Aのサイズ141.11cm×105.83cm
に対して
350ppiの画像Bのサイズが11.61cm×8.71cm
となるからです。


ところが・・・
[Photoshop]>[設定]>[一般]で[画像をサイズ変更して配置]をオンに設定し、[ファイル]>[埋め込み配置]で画像Bを配置すると・・・
オフ設定と同じ結果になってしまいました。
ここで[画像をサイズ変更して配置]の意味が分かりました。
[画像をサイズ変更して配置]は画像のPixel拡大を行いません。よって今回のケースは画像AとBのPixelサイズが異なるので、オンオフでも結果が同じになりました。
つまり・・・
■オンの場合は
自動で縮小され、キャンバス内に収まるサイズで配置されるが拡大は行われない。

■オフの場合は
元のピクセルサイズのまま原寸で配置される。

整理するとこんな感じです。

どちらに設定するかは用途で分かれますね。

後はマスク処理をして・・・

サイズと位置調整で完了ですね。

TCDW8766 
そのようにインプットしているのかは謎です

大きな駅の出口を私は「〜口」ではなくて「〜のある出口」としてインプットしているので、時々混乱します。どうして、そのようにインプットしているのかは謎です。

水曜日, 5月 13, 2026

Let's enjoy affinity 09 
ベクターモードの文字組はちょっとイライラ

Adobe Illustrator、InDesignを長年使っている身として一番気になる文字組でちょっとイライラしてしまいました。

affinity by Canva

まず基準としてIllustratorでサクッと文字組みしてみました。

上はその結果です。

そこで、同じ設定をaffinityのベクターモードで設定することの難しさを痛感しました。そもそもカーニング設定でメトリクスやオプチカルを指定できません。トラッキングと同様に全て%での指定になります。行間も同じ設定では100mm×90mmのテキストブロックに収まりませんでした。

とりあえず色々調整していて上にお設定でイラレと同じ感じになりました。ただし1行目は合いませんでした。

ところが、ちょっと値を変更すると禁足処理が機能していないことに気がつきました。調べてみると、どうやら禁足処理は自動ではなく手動のようで・・・

分離したくない文字列を選択して[分割禁止]にチェックを入れれば・・・

不自然な足温行頭は解決しましたが、今度は音引きが行頭に発生してしまいました。

そこで同じように[分割禁止]すると、手前の行の文字間が間抜けな状態に・・・。Adobeの仕様に慣れているので、かなりイライラしてしまいましたが、Word(※)のテキスト処理と割り切った方が賢明かもしれませんね。レイアウトモードではもう少し賢いようです。

※Wiondows版のwordに限ります。macOS版は禁則処理が効きません。

affinity for macOS 3.2.0

TCDW8765 
多分100体以上あると思います

Cute Baby Alien 033(^o^)
ポケットから何も出てきません。
ティディーベアや色々な熊グッズが大好きで、家に溢れています。2cmから60cmまで、多分100体以上あると思います。しかもジワジワと増えています。

火曜日, 5月 12, 2026

3Dプリントでセンターファインダー作成

過去に木製で作成していますが、今回は3Dプリント版です。本体の制作手順は以下を参照してください。

※解説では実際のサイズで解説していません。またデータはFusionで作成したモノを利用しています。

完成品です。

こんな感じでセッティングし・・・

回転させて数回マーキングすればセンターが出ます。