土曜日, 1月 31, 2026

使い捨て箸で段ボール箱用畳針を作成

段ボール箱を纏めるために、使い捨て箸で段ボール箱用畳針を作成してみました。100均で買えそうですが、急いでいたので手作りです。金属製だと先端が危険なので箸としました。

段ボール箱用なので、先端はこの程度で充分です。穴はそれほど大きくなくても大丈夫です。

ビニール紐を通して・・・

段ボール箱に差し込めば,紐が貫通するので、段ボール箱を纏めるのに便利です。

TCDW8663 
バーチャル歌手のLoFiLullaさん

AI生成されたバーチャル歌手のLoFiLulla(※)さんに一目惚れ(^o^)かも。癒やされますね〜。近い将来はAIアーティストがミュージックシーンを席巻するのかな? YouTubeやfacebookで確認出来ます。

※発音はローファイルーラでいいのかな? キャラクター名なのかプロジェクト名なのかイマイチ分からない。

金曜日, 1月 30, 2026

Illustratorの無駄知識36 
パスファインダーの分割と描画モードの関係

パスファインダーの文末と描画モードの関係が面白いです。

同じ円を3つ重ねたブロック描画モードは左から[通常][乗算][差の絶対値]

それぞれのブロック毎に[パスファインダー]>[分割]を実行すると・・・

[通常]以外の[乗算]と[差の絶対値]は交差部分が二重になります。実は[通常]以外のモードもすべて交差部分が二重になります。

TCDW8662 
問答無用で速攻削除してしまいました

ちょっと気になるWindowsツールの無料版をダウンロード&インストールすると、別のツールのインストールを要求してきたり、ウルサイくらいに有料版へのアップデートを要求してきてウンザリ。問答無用で速攻削除してしまいました。気持ちよく使えれば購入したのに・・・。

木曜日, 1月 29, 2026

JavaScriptでAI遊び 85 
Illustratorでパスのオフセットを制御

Illustratorでパスのオフセットを制御してみます。
なお、IllustratorはスクリプトAPI制限のため、
幾何学的な「パスのオフセット」ではなく、
「バウンディングボックスのサイズ拡張」を使用。
パスの形状によっては均等な結果にならない場合があります。
線の太さを考慮していません。
デフォルトの太さで処理後に調整してください。

/*
Illustrator Script
パスのオフセットを制御
*/

(function() {
// ドキュメントが開かれているか確認
if (app.documents.length === 0) {
alert("ドキュメントを開いてください。");
return;
}

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

// オブジェクトが選択されているか確認
if (sel.length === 0) {
alert("オブジェクトを選択してください。");
return;
}

// --- UI作成 ---
var win = new Window("dialog", "多重オフセット複製");
win.orientation = "column";
win.alignChildren = "fill";

// 間隔の入力
var group1 = win.add("group");
group1.add("statictext", undefined, "間隔 (mm):");
var inputOffset = group1.add("edittext", undefined, "5");
inputOffset.characters = 10;

// 回数の入力
var group2 = win.add("group");
group2.add("statictext", undefined, "回数:");
var inputCount = group2.add("edittext", undefined, "3");
inputCount.characters = 10;

// ボタン
var groupBtn = win.add("group");
groupBtn.alignment = "center";
var btnCancel = groupBtn.add("button",
undefined, "キャンセル", {name: "cancel"});
var btnOk = groupBtn.add("button",
undefined, "実行", {name: "ok"});

// --- 実行処理 ---
btnOk.onClick = function() {
var offsetMM = parseFloat(inputOffset.text);
var repeatCount = parseInt(inputCount.text);

if (isNaN(offsetMM) || isNaN(repeatCount)) {
alert("数値のみ入力可能です。");
return;
}

// mm を pt に変換 (1mm = 2.834645 pt)
var offsetPt = offsetMM * 2.83464567;

for (var i = 0; i < sel.length; i++) {
var originalItem = sel[i];
// 元の座標とサイズを取得
// 線幅を含まない座標値を使用
var bounds = originalItem.geometricBounds;
var w = bounds[2] - bounds[0];
var h = bounds[1] - bounds[3];
var centerX = bounds[0] + w / 2;
var centerY = bounds[1] - h / 2;

for (var j = 1; j <= repeatCount; j++) {
// オブジェクトを複製
var newItem = originalItem.duplicate();
// 新しいサイズを計算(元のサイズ + (間隔 * 2 * 回数目))
var addedSize = (offsetPt * 2) * j;
var newW = w + addedSize;
var newH = h + addedSize;

// サイズ適用
newItem.width = newW;
newItem.height = newH;

// 中心位置を戻す
newItem.left = centerX - (newW / 2);
newItem.top = centerY + (newH / 2);
}
}
win.close();
}
win.show();
})();
任意のオブジェクトを選択して実行すると・・・

間隔(デフォルト:5)と回数(デフォルト:3)を指定すれば完了です。

間隔で-値もデフォルト環境と同様に有効です。

TCDW8661 
常識がない人が車運転している現実は笑えない

Cute Baby Alien 007(^o^)
パンチパーマのオバサン系のビックリ顔。最近、消防署の前に違法駐車している車を発見。案の定出動出来ないので職員に注意されていましたが、これだけ常識がない人が車運転している現実は笑えないですね。日本語通じないのかもね。

水曜日, 1月 28, 2026

macOSで連番リネーム時のゼロ問題対策

macOSで連番リネーム時のゼロ問題対策です。

任意のフォルダーに纏めたファイルを全選択し、pic_000100〜とした場合・・・

右クリックで表示されるパレットから[名称変更]を選んで表示されるパレットで・・・

フォーマット
名前のフォーマット:名前とインデックス
カスタムフォーマット:pic_
場所:名前の後
開始番号:100

で、一旦[pic_100〜]とします。実は[開始番号]で[000100]とゼロを頭に入れることが出来ません。

ということで[pic_100〜]としてから再度・・・

フォーマット
名前のフォーマット:名前とインデックス
カスタムフォーマット:pic_000
場所:名前の後
開始番号:100

で[pic_000100〜]となりまっす。そうであれば最初からと思いがちですが、何故か連番が狂うことが有るので二段階処理としています。

TCDW8660 
数年ぶりにセーターを着込んでいます

東京の寒さは気にならないのですが、今年は例年になく寒いですね。仕事部屋は暖房しないので、例年は長袖Tシャツにパーカーだけだったのですが、数年ぶりにセーターを着込んでいます。

火曜日, 1月 27, 2026

modoローポリモデリング 69 
カーブ形状の穴閉じ調整

カーブ形状の穴閉じ調整方法を整理してみました。カーブ形状にする前に穴閉じ処理しておけば済む話なんですけどね。ちなみにmodo以外でも使える処理です。

こんな形状をサンプルにしてみました。

反対側はこんな感じです。

定番処理で両方の穴をエッジ選択して[ブリッジ]で結合します。

[ブリッジ]実行直の¥後の状態です。表に穴の筒部分が出っ張ってしまいます。

アウトラインとして左面表示で状況確認します。

まず[ブリッジ]処理直後に[セグメント]を4程度に設定します。

つぎに両端以外のセグメントを選択して・・・

移動ツールで大まかな位置調整を行います。

後は細部を少しずつ回転や移動で調整していきます。

起点となるエッジは時に注意して調整します。

あくまでも大凡の処理で構いません。

これで良い感じに穴の状態を調整することが出来ます。

modo 17.1v1

TCDW8659 
たまには頭の体操しないとね〜

年明けから、何だかんだで小冊子作成のためにInDesign漬けが続いています。画像が多いので色々大変。たまには頭の体操しないとね〜。

月曜日, 1月 26, 2026

Illustratorでの作図基本 36 
星形を正星形に変形する



質問がありましたので・・・
星形を正星形に変形する手順を整理してみました。なお、少し切り口が異なりますが、以下のプログラムも参照してください。


第一半径を基準に描画した八角形で説明します。

最終的に上の様なガイドラインに合わせ・・・

最終的に上の様に調整します。


まず全体を22.5度回転します。

上の様に選択範囲を得てから[整列]で[垂直方向上に整列]を実行します。

上の様に選択範囲を得てから[整列]で[垂直方向下に整列]を実行します。

上の様に選択範囲を得てから[整列]で[水平方向右に整列]を実行します。

上の様に選択範囲を得てから[整列]で[水平方向左に整列]を実行します。


ここで45度回転し、同じように選択してから[垂直方向上に整列][垂直方向下に整列][水平方向右に整列][水平方向左に整列]を実行すれば・・・

完成です。

最後に22.5度回転させれば元の形状に突起部分が合います。

TCDW8658 
胡散臭さを激しく感じる今日この頃ですかね

「TVや新聞で紹介されました〜」というキャッチの広告を見ると、「それヤバクない?」と胡散臭さを激しく感じる今日この頃ですかね〜。

日曜日, 1月 25, 2026

Excelでセルの幅を自動調整設定

Excelでセルの幅を自動調整の設定手順を整理してみました。

まず新規ファイルを開いたらシートを右クリックし[コードの表示]をクリックし・・・

VBA編集パレットを表示します。

ここで[Worksheet]を選ぼうとするとアラートが表示されてしまう場合は以下のテキストを入力します。

Privaate Sub Workssheet_SelectionChange(ByVal Target)
Cells.EntireColumn.AutoFit
End Sub

もしアラートが表示されなければ以下のテキストが自動的に入力されているので・・・

Privaate Sub Workssheet_SelectionChange(ByVal Target)

End Sub

2行目に以下をタイピングします。

Cells.EntireColumn.AutoFit

更に行の高さも同時に調整したい場合は、以下も追加します。

Cells.EntireRow.AutoFit

入力した直後の状態です。このままパレットを閉じてOKです。

後はシート上でデータを入¥力すれば自動的にセル幅が調整されます。

纏めてコピー&ペースとしても有効です。

便利ですが、チマチマ変更されて・・・ちょっとウルサイですね。

セルの境界線をダブルクリックで調整した方が現実的かもしれませんね。