C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■103819 / 19階層)  Visual Basicで簡易CADを作成
□投稿者/ shiro (12回)-(2025/08/05(Tue) 19:28:33)
No103817 (魔界の仮面弁士 さん) に返信
> ■No103815 (shiro さん) に返信

魔界の仮面弁士 様

いつもアドバイス有難うございます。
早速次のように実施しました。


    Private startPoint As Point
    Private endPoint As Point

MouseDown

          '耐力壁

            Case "wall"

                startPoint = SnapToGrid(e.Location)

MouseMove

           Case "wall"

                If isPlacing Then

                    endPoint = SnapToGrid(e.Location)

                    PictureBox1.Invalidate()

MouseUp

        isPlacing = False

        Dim newWall As New Wall(startPoint, endPoint) '新しい壁を準備

        wallList.Add(newWall) 'それを壁一覧に加える

        'wallList.Add(New Wall(startPoint, endPoint))

        '剛性値を別の値とするために

        'wallList.Add(New Wall(startPoint, endPoint, 2.2))

        PictureBox1.Invalidate()

Paint

        For Each w In wallList
            e.Graphics.DrawLine(pen7, w.StartPoint, w.EndPoint)
        Next

    Public Sub ExportToCSV(pillarList As List(Of Pillar), wallList As List(Of Wall))

        ' ファイルパスを指定
        Dim filePath As String = "export.csv"
        Using writer As New StreamWriter(filePath)
 
            writer.WriteLine("Type,Index,X,Y,Stiff")
 
            ' 柱データを書き込み
            For Each pillar In pillarList
                writer.WriteLine($"C,{pillar.Index},{pillar.X},{pillar.Y}")
             Next

            ' 壁データを書き込み
            For Each wall In wallList
 
                writer.WriteLine($"W,{wall.Index},{wall.StartPoint},{wall.EndPoint},{wall.Stiffness}")

            Next
        End Using

その結果、コンパイルエラーもなく、次のとおり出力されました。
気になるのがWの1〜4が出力されていることでした。
関係ない出力だと思うのですが。

W5~8は柱のCと座標が整合していました。


Type	Index	X	Y	Stiff		
C	1	40	40			
C	2	40	80			
C	3	80	80			
C	4	80	40			
W	1	{X=0	Y=0}	{X=0	Y=0}	2.5
W	2	{X=0	Y=0}	{X=0	Y=0}	2.5
W	3	{X=0	Y=0}	{X=0	Y=0}	2.5
W	4	{X=0	Y=0}	{X=0	Y=0}	2.5
W	5	{X=40	Y=40}	{X=40	Y=80}	2.5
W	6	{X=40	Y=80}	{X=80	Y=80}	2.5
W	7	{X=80	Y=80}	{X=80	Y=40}	2.5
W	8	{X=80	Y=40}	{X=40	Y=40}	2.5


> <ひとりごと>
> 
> 建築構造体としての柱というニュアンスであれば、Pillar クラスではなく Column クラスの方が単語的に望ましいかな…。
> でも Column だと、グリッドや CSV などの「Row/Column」の意味に混同されそうで、命名的に悩んでしまった。
> 
> Column  ⇒ 柱、あるいは建築物の中で装飾的・構造的に並んでいる縦の柱
> Pillar  ⇒ 建物の主要構造を支える支柱、記念碑や大黒柱などといった中心的存在あるいは意匠的に独立した支柱
> Pier   ⇒ 建築・土木分野の専門用語で「柱状の構造物」「基礎・橋脚・大型の柱」を指す
> Post   ⇒ 支柱・杭、小さい柱や看板の支え
> Pole   ⇒ 細長い棒・支柱、電信柱や旗竿など
> Stanchion⇒ 鉄パイプなどの支柱・枠、工事現場の柵や支柱
> Support ⇒ 支えとしての支柱、構造体のサポート部材
> Beam   ⇒ 横向きの梁、水平な構造体
> 
> 方眼上に配置するための柱なので、GridColumn とか? こちらは WPF の Grid.Column を連想してしまいそう。
> 
> StructuralColumn クラスという名前にすれば明確にはなるけれど、それだと Wall に比べて名前が冗長すぎるか。
> 
> Pier であれば、Pillar と Column の中間的なニュアンスとなり、Row/Column との混同も避けられるけれど、
> そもそも専門用語過ぎて伝わらないだろうなぁ…。(一般語としての Pier は、桟橋・埠頭の意味で使われる)


Pillarは地下の杭などに使われます。
上部構造の柱はcolumnが使われます。

今回は動かせることが目的でしたので、そのまま使用していました。

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[18]: Visual Basicで簡易CADを作成 /魔界の仮面弁士 →Re[20]: Visual Basicで簡易CADを作成 /魔界の仮面弁士
 
上記関連ツリー

Visual Basicで簡易CADを作成 / shiro (25/07/25(Fri) 20:50) #103783
Re[1]: Visual Basicで簡易CADを作成 / KOZ (25/07/27(Sun) 14:35) #103784
  └ Re[2]: Visual Basicで簡易CADを作成 / shiro (25/07/28(Mon) 20:17) #103785
    ├ Re[3]: Visual Basicで簡易CADを作成 / kiku (25/07/29(Tue) 08:49) #103786
    └ Re[3]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/07/29(Tue) 14:06) #103791
      └ Re[4]: Visual Basicで簡易CADを作成 / shiro (25/07/30(Wed) 12:22) #103792
        └ Re[5]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/07/30(Wed) 15:46) #103794
          └ Re[6]: Visual Basicで簡易CADを作成 / shiro (25/07/31(Thu) 07:34) #103795
            └ Re[7]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/07/31(Thu) 10:48) #103796
              └ Re[8]: Visual Basicで簡易CADを作成 / shiro (25/08/01(Fri) 06:15) #103797
                ├ Re[9]: Visual Basicで簡易CADを作成 / kiku (25/08/01(Fri) 08:47) #103798
                │└ Re[10]: Visual Basicで簡易CADを作成 / shiro (25/08/02(Sat) 03:40) #103803
                └ Re[9]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/01(Fri) 10:46) #103800
                  ├ Re[10]: Visual Basicで簡易CADを作成 / kiku (25/08/01(Fri) 10:50) #103801
                  └ Re[10]: Visual Basicで簡易CADを作成 / shiro (25/08/02(Sat) 03:38) #103802
                    └ Re[11]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/03(Sun) 11:50) #103805
                      └ Re[12]: Visual Basicで簡易CADを作成 / shiro (25/08/04(Mon) 05:10) #103806
                        └ Re[13]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/04(Mon) 11:36) #103808
                          └ Re[14]: Visual Basicで簡易CADを作成 / shiro (25/08/04(Mon) 18:59) #103811
                            └ Re[15]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/04(Mon) 19:43) #103812
                              └ Re[16]: Visual Basicで簡易CADを作成 / shiro (25/08/05(Tue) 12:42) #103814
                                └ Re[17]: Visual Basicで簡易CADを作成 / shiro (25/08/05(Tue) 12:44) #103815
                                  └ Re[18]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/05(Tue) 18:02) #103817
                                    └ Visual Basicで簡易CADを作成 / shiro (25/08/05(Tue) 19:28) #103819 ←Now
                                      └ Re[20]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/05(Tue) 20:39) #103821
                                        └ Re[21]: Visual Basicで簡易CADを作成 / shiro (25/08/06(Wed) 12:22) #103822
                                          └ Re[22]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/06(Wed) 14:42) #103825
                                            ├ Re[23]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/06(Wed) 17:53) #103828
                                            │└ Re[24]: Visual Basicで簡易CADを作成 / shiro (25/08/06(Wed) 19:13) #103830
                                            │  ├ Re[25]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/06(Wed) 19:44) #103832
                                            │  │└ Re[26]: Visual Basicで簡易CADを作成 / shiro (25/08/07(Thu) 07:06) #103834
                                            │  │  └ Re[27]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/07(Thu) 12:18) #103835
                                            │  │    └ Re[28]: Visual Basicで簡易CADを作成 / shiro (25/08/07(Thu) 19:14) #103836
                                            │  │      └ Re[29]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/07(Thu) 20:25) #103837
                                            │  │        ├ Re[30]: Visual Basicで簡易CADを作成 / shiro (25/08/08(Fri) 03:34) #103838
                                            │  │        └ Re[30]: Visual Basicで簡易CADを作成 / shiro (25/08/08(Fri) 07:29) #103839
                                            │  │          └ Re[31]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/08(Fri) 09:40) #103841
                                            │  │            └ Re[32]: Visual Basicで簡易CADを作成 / shiro (25/08/09(Sat) 05:05) #103842
                                            │  │              └ Re[33]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/09(Sat) 14:24) #103843
                                            │  │                └ Re[34]: Visual Basicで簡易CADを作成 / shiro (25/08/09(Sat) 19:18) #103844
                                            │  └ Re[25]: Visual Basicで簡易CADを作成 / 魔界の仮面弁士 (25/08/06(Wed) 19:53) #103833
                                            └ Re[23]: Visual Basicで簡易CADを作成 / shiro (25/08/18(Mon) 12:41) #103847
                                              └ Re[24]: Visual Basicで簡易CADを作成 / kiku (25/08/20(Wed) 15:09) #103848
                                                └ Re[25]: Visual Basicで簡易CADを作成 / shiro (25/08/20(Wed) 18:35) #103849
                                                  └ Re[26]: Visual Basicで簡易CADを作成 / kiku (25/08/21(Thu) 09:03) #103850
                                                    └ Re[27]: Visual Basicで簡易CADを作成 / shiro (25/08/21(Thu) 22:01) #103851
                                                      └ Re[28]: Visual Basicで簡易CADを作成 / kiku (25/08/22(Fri) 08:45) #103852
                                                        └ Re[29]: Visual Basicで簡易CADを作成 / shiro (25/08/22(Fri) 13:20) #103853
                                                          └ Re[30]: Visual Basicで簡易CADを作成 / kiku (25/08/22(Fri) 16:45) #103854
                                                            └ Re[31]: Visual Basicで簡易CADを作成 / shiro (25/08/22(Fri) 20:33) #103855
                                                              └ Re[32]: Visual Basicで簡易CADを作成 / kiku (25/08/25(Mon) 08:42) #103857

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信