土曜日, 10月 10, 2026

TCDW8915 
原材料が値下げされたら戻るわけ無いですからね〜

色々な商品の値上げやサイズ小型化が露骨になってきましたが、原材料高騰〜なんて言っても、原材料が値下げされたら戻るわけ無いですからね〜(>_<)

金曜日, 10月 09, 2026

JavaScriptでAI遊び 108 
オブジェクトを設定した直径の円に対して指定数を均等配置

選択したオブジェクトを設定した直径の円に対して指定数を均等配置します。

#target illustrator

(function () {

if (app.documents.length === 0) {
alert("ドキュメントを開いてください。");
return;
}

var doc = app.activeDocument;

if (doc.selection.length !== 1) {
alert("配置する元のオブジェクトを1つ選択してください。");
return;
}

var source = doc.selection[0];

// =========================
// ダイアログ
// =========================

var dialog = new Window("dialog", "円周上に均等配置");

dialog.orientation = "column";
dialog.alignChildren = "left";

// 配置数
var countGroup = dialog.add("group");
countGroup.add("statictext", undefined, "配置数:");

var countInput = countGroup.add("edittext", undefined, "12");
countInput.characters = 8;

// 円の直径
var diameterGroup = dialog.add("group");
diameterGroup.add("statictext", undefined, "円の直径(mm):");

var diameterInput = diameterGroup.add("edittext", undefined, "100");
diameterInput.characters = 8;

// 開始角度
var angleGroup = dialog.add("group");
angleGroup.add("statictext", undefined, "開始角度(°):");

var angleInput = angleGroup.add("edittext", undefined, "0");
angleInput.characters = 8;

// ボタン
var buttonGroup = dialog.add("group");
buttonGroup.alignment = "right";

var cancelButton = buttonGroup.add("button", undefined, "キャンセル");
var okButton = buttonGroup.add("button", undefined, "配置");

cancelButton.onClick = function () {
dialog.close(0);
};

okButton.onClick = function () {
dialog.close(1);
};

dialog.defaultElement = okButton;
dialog.cancelElement = cancelButton;

if (dialog.show() !== 1) {
return;
}

// =========================
// 入力値
// =========================

var count = parseInt(countInput.text, 10);
var diameterMM = parseFloat(diameterInput.text);
var startAngle = parseFloat(angleInput.text);

if (isNaN(count) || count < 1) {
alert("配置数は1以上の整数を入力してください。");
return;
}

if (isNaN(diameterMM) || diameterMM <= 0) {
alert("直径は0より大きい数値を入力してください。");
return;
}

if (isNaN(startAngle)) {
startAngle = 0;
}

// =========================
// mm → pt
// =========================

function mmToPt(mm) {
return mm * 72 / 25.4;
}

var diameter = mmToPt(diameterMM);
var radius = diameter / 2;

// =========================
// 元オブジェクトの中心
// =========================

var bounds = source.visibleBounds;

var centerX = (bounds[0] + bounds[2]) / 2;
var centerY = (bounds[1] + bounds[3]) / 2;

// =========================
// ガイドとなる円を作成
// =========================

var circle = doc.pathItems.ellipse(
centerY + radius,
centerX - radius,
diameter,
diameter
);

// 塗りなし
circle.filled = false;

// 線あり
circle.stroked = true;

// 線幅 1pt
circle.strokeWidth = 1;

// 黒線
var black = new RGBColor();
black.red = 0;
black.green = 0;
black.blue = 0;

circle.strokeColor = black;

// 円を最背面へ
circle.zOrder(ZOrderMethod.SENDTOBACK);

// =========================
// 円周上に均等配置
// =========================

for (var i = 0; i < count; i++) {

var angle =
(startAngle + (360 / count) * i)
* Math.PI / 180;

var x = centerX + radius * Math.cos(angle);
var y = centerY + radius * Math.sin(angle);

var obj;

if (i === 0) {
obj = source;
} else {
obj = source.duplicate();
}

// オブジェクト中心
var b = obj.visibleBounds;

var objCenterX = (b[0] + b[2]) / 2;
var objCenterY = (b[1] + b[3]) / 2;

// 指定位置へ移動
obj.translate(
x - objCenterX,
y - objCenterY
);
}

})();

オブジェクトを選択して実行し・・・

デフォルト値を無修正のまま[配置]をクリックすれば・・・

円に均等配置されます。

もしろんグループ化されているオブジェクトも有効です。

配置数を変更すれば・・・

こんな感じです。

TCDW8914 
砂糖を20袋以上も買い込んでいる人に遭遇

Cute Baby Alien 070(^o^)
驚きのボトル族〜
驚きと言えば、行きつけのスーパーで、砂糖を20袋以上も買い込んでいる人に遭遇。過去にも発見したときはアーリア系の方でしたが、今回は日本人のようでした。ちょっと理解できない量で気になって仕方がないです。業務用なら一般のスーパーで買うより安いのに・・・何故???

木曜日, 10月 08, 2026

Bambu Studio Lessons 22 
小さいサイズで可変積層ピッチの設定結果を比較

可変積層ピッチの設定結果を比較を差の出やすい小さいサイズで実験して見ました。

左はデフォルト無修正、右は可変積層ピッチをフル設定。

プリント結果でサポート材を取り除いただけの状態。サイズは50mmの大きさです。

デフォルトのアップ。

可変積層ピッチを設定したアップ。この差は大きいですね。今まで絵完全にデフォルト設定だったので、かなり驚いています。ただし、概ねプリント時間が2倍になりエラーの頻度が上がるというデメリットがあります。

Bambu Studio 2.8.3.66
modo 17.1v1
Blender 5.2.1
eSUN PLA Plus(グレー)

TCDW8913 
思い出したくもないトラブルでした・・・

ちょうど1年前の10月8日は、50日間に及ぶドメイントラブルが発生した日でした。顛末記はサイトで公開していますが、問題解決した今も、思い出したくもないトラブルでした・・・。

■ 突然降り注いだ50日間に及ぶドメイントラブルの記録

水曜日, 10月 07, 2026

Illustratorでの作図基本 46 
2枚の三角定規を作図

2枚の三角定規を作図する手順です。三角形の関係は以下を参照してください・


まず適当な矩形を作成し、底面右下を起点とした直線を仰臥します。

基点を軸に-30°回転させ・・・

全体をッ選択して[パッスファインダー]>[分割]を実行して

ダイレクト選択ツールで余分な部分を削除します。

次に底辺左端を起点とした直線を描画し・・・

基点を軸に-45°回転させ・・・

続けて底辺右端を起点とした直線を描画し・・・

基点を軸に45°回転させ・・・

2つの基点をダイレクト選択ツールで選択し、[オブジェクト]>[パス]>[連結]を実行後に[パスファインダー]>[合体]または[中マド]を実行後に余分な線を削除します。

これで基本形状は完成です。


2つの三角形を選択し、[オブジェクト]>[パス]>[パスのオフセット]にて、マイナス値で任意の値を実行すれば・・・

くりぬかれた部分を演出できます。

最後に[パスファインダー]>[中マド]を実行すれば完成です。

TCDW8912 
頑張って予定を組んで専門店へ出かけても

昔はあった文豪具店が少しずつ消えている感じがします。ちょっと気になる文房具を実際に確認出来ないのはちょっと辛いですね。ホームセンターの文具コーナーはお世辞にも潤沢な品揃えではないので、ネット通販に頼ろうにも、お目当ての筆記具は10本セットだったりして躊躇してしまいます。頑張って予定を組んで専門店へ出かけても、お目当ての商品は定価販売で高いし・・・。

火曜日, 10月 06, 2026

ミニ封筒は厚紙や塩ビのカバーで決める

変則的なミニ封筒は厚紙や塩ビのカバーで型紙的な定規を作成すると便利です。

とりあえず展開図を作成し・・・

展開図に合わせて厚紙や塩ビのカバーをカットして定規を作成します。

あとは定規を当てて適当な用紙をカットし・・・

織り込みながら底辺の糊代に糊をつけて織り込み・・・

側面の糊代に糊をつけて織り込めば完成です。

TCDW8911 
10mほど離れているのに会話内容は筒抜けでした

久しぶりに電車内で、声の大きいサラリーマン2名の聞きたくもない会話で頭がクラクラしてしまいました。下車した駅が同じだったのですが、10mほど離れているのに会話内容は筒抜けでした。声の大きい人苦手です。

月曜日, 10月 05, 2026

3Dプリンタ遊び 25 
プリントデータの構造と考え方


A:胴体を分割プリントして接着
プリント時間:2時間58分

B:失敗した右腕だけを追加プリントして接着
プリント時間:2時間39分+32分=3時間11分

C:腕だけを別パーツ化してプリント
プリント時間:2時間3分

プリント直後後 斜め正面
A:腕と足下にパテ処理
B:胴体に謎の凹みと腕のつなぎ目にパテ処理
C:腕と角のつなぎ目に接着剤がはみ出る

プリント直後後 斜め背面
A:胴体のつなぎ目や腕と足下にパテ処理
B:胴体に謎の凹みと腕と角のつなぎ目にパテ処理
C:後処理なし

サーフェース処理後 斜め正面
A:問題なし
B:ブリント時のトラブルが頭部にもありました
C:問題なし


サーフェース処理後 斜め背面
A:腕の部分の紙やすりが雑でした。胴体のつなぎ目のパテ処理が甘かったです
B:ブリント時のトラブルが頭部にもありました
C:問題なし

結局Cタイプがプリント時間最短で問題皆無という結論になりました。データ構造的に腕以外を一体化したことも影響しています。

Bambu Studio 2.7.1.62
Fusion 2704.1.23 arm64
modo 17.1v1
Blender 5.2.0
ANYCUBIC PLA(質感グレー)
eSUN PLA Plus(グレー)