金曜日, 10月 17, 2025

TCDW8557 
食べ過ぎるので禁止令が

Baby Alien 157
スライム系(^o^)
スライムと言えば、和菓子屋さんで売っている素甘が好きなんです。上新粉・砂糖・塩・片栗粉・食紅で簡単に自宅でも作れますが、食べ過ぎるので禁止令が(^o^)汗

木曜日, 10月 16, 2025

Illustratorの無駄知識33 
3D回転体はクラッシック版と設定が異なる

3D回転体はクラッシック版と設定が異なる事に気がつきました。

直径30mmの円を作成し、[効果]>[3Dとマテリアル]>[3D(クラシック)]>[回転体(クラシック)]にて・・・

オフセット30ptで上面表示に設定すると・・・

こんな感じになります。

同じく直径30mmの円を作成し、[効果]>[3Dとマテリアル]>[回転体]にて・・・

オフセット30pt(※)で上面表示に設定すると・・・

デフォルト設定はmm単位なので「30pt」と入力

こんな感じになります。見た目は回転体(クラシック)と同じですが・・・

重ねると一が異なっています。これは以下の様な構造の違いによる結果です。・・・

回転体(クラシック)>ベースオブジェクトの左端が回転の中心
回転体 >ベースオブジェクトの中心が回転の中心

ただし、回転体(クラシック)で上の様な設定を行うと・・・

こんな感じになります。

ところが回転体で同じ値を実行すると・・・

表示結果は異なってしまいます。

回転体(クラシック)と同じように表示させるには上の様な設定が必要でした。

コノ違いは中心点の位置が異なる事で発生する差異ですね。通常は困りませんが私的にカナリ困惑しました(>_<)

TCDW8556 
カメラが私を写さないので試行錯誤する

昨夜は数ヶ月ぶりにオンラインミーティングだったのですが、事前準備では接続が悪いのかカメラが私を写さない(ご機嫌斜め)ので試行錯誤すること30分。最終的にPCをリスタートしたらご機嫌が直りました(>_<)

水曜日, 10月 15, 2025

Visual Studio Basic_44 
同一階層内のファイル名入れ替え Vol.2

今回同一階層内のファイルに限定していますが、拡張子は変更されません。

レイアウトは上の様にしました。
L=Label
B=Button

ソースの「-----------------」は区切り線なので記述の必要はありません。

青字は自動入力部分で修正の必要はありません。 黒字が入力部分です。 緑字はコメント文なので記述の必要はありません。

------------------
Public Class Form1
' Button1: ファイルAを選択してLabel1に表示
Private Sub Button1_Click(sender As Object, _
        e As EventArgs) Handles Button1.Click
Using ofd As New OpenFileDialog
ofd.Title = "ファイルAを選択してください"
If ofd.ShowDialog() = DialogResult.OK Then
Label1.Text = ofd.FileName
End If
End Using
End Sub

' Button2: ファイルBを選択してLabel2に表示
Private Sub Button2_Click(sender As Object, _
        e As EventArgs) Handles Button2.Click
Using ofd As New OpenFileDialog
ofd.Title = "ファイルBを選択してください"
If ofd.ShowDialog() = DialogResult.OK Then
Label2.Text = ofd.FileName
End If
End Using
End Sub

' Button3: ファイル名だけを入れ替える(拡張子はそのまま)
Private Sub Button3_Click(sender As Object, _
        e As EventArgs) Handles Button3.Click
Dim fileA As String = Label1.Text
Dim fileB As String = Label2.Text

If String.IsNullOrWhiteSpace(fileA) _
            OrElse String.IsNullOrWhiteSpace(fileB) Then
MessageBox.Show("両方のファイルを指定してください。")
Exit Sub
End If
If Not File.Exists(fileA) OrElse Not File.Exists(fileB) Then
MessageBox.Show("指定されたファイルが存在しません。")
Exit Sub
End If

Dim dirA As String = Path.GetDirectoryName(fileA)
Dim dirB As String = Path.GetDirectoryName(fileB)

' 同じフォルダにあることが前提
If dirA <> dirB Then
MessageBox.Show _
            ("同じフォルダ内のファイルを選択してください。")
Exit Sub
End If

Try
Dim nameA As String = _
                Path.GetFileNameWithoutExtension(fileA)
Dim nameB As String = _
                Path.GetFileNameWithoutExtension(fileB)
Dim extA As String = Path.GetExtension(fileA)
Dim extB As String = Path.GetExtension(fileB)

Dim tempFile As String = _
                Path.Combine(dirA, "TempFile" & extA)

' A → Temp
File.Move(fileA, tempFile)
' B → A (Bの拡張子のまま)
File.Move(fileB, Path.Combine(dirA, nameA & extB))
' Temp → B (Aの拡張子のまま)
File.Move(tempFile, Path.Combine(dirA, nameB & extA))

MessageBox.Show("ファイル名を入れ替えました。")
Catch ex As Exception
MessageBox.Show("エラー: " & ex.Message)
End Try
End Sub
End Class
------------------

起動直後の画面。


用意した2つのファイルの名称を変更します。

[File A]と[File B]をクリックしてファイルを指定して[ファイル名入れ替え]をクリックして問題がなければ・・・

上のアラートが表示され・・・

拡張子はそのままでファイル名は入れ替わります。

TCDW8555 
視聴したら時間の無駄が多いですかね〜

YouTubeで次のタイトルを視聴したら時間の無駄が多いですかね〜(^o^)
・最悪のニュースが飛び込んできました
・事態が急変しました
・〜どころの騒ぎではない
・完全に終了です
・本当の理由
・大変なことになっています
・もう全部言うわ
・削除覚悟です

火曜日, 10月 14, 2025

Excelでの連番設定はSEQUENCE関数

Excelでの連番設定はSEQUENCE関数がメチャクチャ便利でした。
SEQUENCE関数は[数式]>[数学/三角]にあります。
説明は行で行っていますが、列の同じです。

始点となるセルを選択してSEQUENCEを選ぶと出てくる数式パレットの意味は・・・

SEQUENCE(行,列,開始,目盛り)
行  :  返される行数を指定
列  :  返される列数を指定
開 始:  数列の最初の数値を指定
目盛り:  数列の後続の各値の増分量を指定

上は以下の設定
SEQUENCE(行,列,開始,目盛り)
行  :  20
列  :  
開 始:  5
目盛り:  5

上は以下の設定
SEQUENCE(行,列,開始,目盛り)
行  :  20
列  :  
開 始:  100
目盛り:  50

設定後に任意の行(※)を削除しても全体は変化しません。

※8行目を削除すると9行目が8行目の値でスライドし、全体の設定行は変化しません。

TCDW8554 
毎日通ったら衝動買い地獄に陥りますね

100均便利グッズってほぼ確実に入手困難ですね。情報を得たときは既に入試困難というゲームみたい。大型店が近所にあれば散歩がてら毎日通うのに〜。あっ、毎日通ったら衝動買い地獄に陥りますね(>_<)

月曜日, 10月 13, 2025

JavaScriptでAI遊び 74 
Illustratorでアンカーポイントをカウント

Illustratorで選択したオブジェクトのアンカーポイントの数をカウントします。
JavaScriptでAI遊び73用に作成していました。


// ===============================
// 選択したオブジェクトのアンカーポイント数をカウント
// ===============================
(function() {
if (app.documents.length === 0) {
alert("ドキュメントが開かれていません。");
return;
}

if (app.selection.length === 0) {
alert("オブジェクトを選択してください。");
return;
}

var sel = app.selection;
var totalPoints = 0;
var pathCount = 0;

for (var i = 0; i < sel.length; i++) {
if (sel[i].typename === "PathItem") {
var path = sel[i];
totalPoints += path.pathPoints.length;
pathCount++;
} else if (sel[i].typename === "GroupItem") {
totalPoints += countPointsInGroup(sel[i]);
pathCount++;
}
}

alert("アンカーポイントの合計数: " + totalPoints);

// グループ内も再帰的にカウント
function countPointsInGroup(group) {
var count = 0;
for (var j = 0; j < group.pageItems.length; j++) {
var item = group.pageItems[j];
if (item.typename === "PathItem") {
count += item.pathPoints.length;
} else if (item.typename === "GroupItem") {
count += countPointsInGroup(item);
}
}
return count;
}
})();

元データのポイント数:4096
同一色合体後のポイント数:1358

JavaScriptでAI遊び 73で
余分なポイントを削除後のポイント数:722

TCDW8553 
脳内が活性化する季節になってきました

Baby Alien 156
お面の様な顔のエイリアン(^o^)
小雨なら寒さすら感じるようになりましたね。チョット前まで雨だと蒸し暑かったことが嘘のようです。取りあえず私にとって脳内が活性化する季節になってきました。

日曜日, 10月 12, 2025

Illustratorでの作図基本 27 
具象ブラシは透明矩形が隠し味

質問がありましたので・・・
具象図形を円に均等配置したい場合は透明矩形を隠し味に使うと簡単です。

用意したオブジェクト
葉は9×13mm
それ以外は全て10mm四方

オブジェクトを散布ブラシのデフォルト登録。直線であれば散布ブラシでもOKです。しかし、円の様なクローズパスの場合は不向きです。

直径60mmの円
オブジェクトを散布ブラシ登録
線幅1point

直径60mmの円
オブジェクトを散布ブラシ登録
線幅4point

直径60mmの円
オブジェクトを散布ブラシ登録
線幅1point

直径60mmの円
オブジェクトを散布ブラシ登録
線幅4point

直径60mmの円
オブジェクトを散布ブラシ登録
線幅1point

直径60mmの円
オブジェクトを散布ブラシ登録
線幅4point

直径60mmの円
オブジェクトを散布ブラシ登録
線幅1point

直径60mmの円
オブジェクトを散布ブラシ登録
線幅4point

円の様なクローズパスの場合は登録時の数と味付けがポイントです。例えば、オブジェクトを10個均等配置コピー、最後にそれぞれの間隔と同じ無色透明の矩形を作成して登録します。。

オブジェクトをアートブラシのデフォルト登録

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅4point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅4point

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅4point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅4point

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅4point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅4point

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
5個と透明矩形をアートブラシ登録
線幅4point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅1point

直径60mmの円
10個と透明矩形をアートブラシ登録
線幅4point

アピアランスで組み合わせると楽しいです。