質問編集履歴

8

書式の改善

2021/12/24 01:33

投稿

jy8666
jy8666

スコア2

test CHANGED
@@ -1 +1 @@
1
- Pythonで3Dモデル上での10回目のクリック時に(yes/no)判定を入れたい
1
+ クリック時に(yes/no)判定を入れたい
test CHANGED
File without changes

7

書式の改善

2021/12/24 01:33

投稿

jy8666
jy8666

スコア2

test CHANGED
@@ -1 +1 @@
1
- Pythonで3Dモデル上での回目のクリック時に(yes/no)判定を入れたい
1
+ Pythonで3Dモデル上での10回目のクリック時に(yes/no)判定を入れたい
test CHANGED
@@ -1,6 +1,6 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- Pyvistaを使ってSTLファイル上でクリックした回数をカウントさせ、2回目に座標選択の確定(yes/no)判定を入れたいのですがうまく動きません。
3
+ STLファイル上でクリックした回数をカウントさせ、10回目に(yes/no)判定を入れたいのですがうまく動きません。
4
4
 
5
5
  エラーを回避するにはどうすればよいでしょうか。
6
6
 
@@ -19,104 +19,6 @@
19
19
  callback(self._plotter.pick_click_position())
20
20
 
21
21
  TypeError: left_click() missing 1 required positional argument: 'self'
22
-
23
-
24
-
25
- ```
26
-
27
-
28
-
29
- ### 該当のソースコード
30
-
31
-
32
-
33
-
34
-
35
- ```python
36
-
37
- # 左クリックしたらoutput関数を処理する
38
-
39
-
40
-
41
- import pyvista as pv
42
-
43
- import numpy as np
44
-
45
-
46
-
47
- def __inti__(self):
48
-
49
- self.i=0
50
-
51
-
52
-
53
- def left_click(data,self):
54
-
55
- self.i+=1
56
-
57
- data = np.array(data)
58
-
59
- plotter.add_points(data, render_points_as_spheres=True, point_size=10.0, color='red')
60
-
61
- print('point:','self.i')
62
-
63
- print(data)
64
-
65
- print(type(data))
66
-
67
-
68
-
69
- if self.i==2: #2回目のクリック時に座標確定の判定
70
-
71
- dic={'y':True,'yes':True,'n':False,'no':False}
72
-
73
- try:
74
-
75
- dic[input('確定しますか? Yes/No >> ')]
76
-
77
- except:
78
-
79
- pass
80
-
81
-
82
-
83
- if dic==True:
84
-
85
- print('OK!')
86
-
87
- else:
88
-
89
- print('continue')
90
-
91
- else: #選択範囲以外のところをクリックしたときエラー処理
92
-
93
- print('error')
94
-
95
-
96
-
97
- filename = "Lt_tibia.stl"
98
-
99
- mesh = pv.read(filename)# 3Dモデルのファイルを読み込み
100
-
101
- plotter = pv.Plotter() # プロッターを生成
102
-
103
- plotter.add_mesh(mesh) # 3Dモデルをプロッターに追加
104
-
105
- point_data = mesh.points # 3Dモデルの座標データを取得
106
-
107
- mesh.points = translation(point_data, -268, -203, 945) #モデル全体を平行移動
108
-
109
-
110
-
111
- print('座標位置を選択してください')
112
-
113
- plotter.track_click_position(callback=left_click, side='left')
114
-
115
-
116
-
117
- plotter.show()
118
-
119
-
120
22
 
121
23
 
122
24
 
@@ -144,8 +46,6 @@
144
46
 
145
47
 
146
48
 
147
- 初心者で至らない点が多いかと思いますが、より多くのアドバイスをいただければ幸いです。
148
-
149
49
  <実行環境>
150
50
 
151
51
  Windows10

6

文字の修正

2021/12/19 03:18

投稿

jy8666
jy8666

スコア2

test CHANGED
@@ -1 +1 @@
1
- PythonでSTLファイル上での2回目のクリック時に(yes/no)判定を入れたい
1
+ Pythonで3Dモデル上での2回目のクリック時に(yes/no)判定を入れたい
test CHANGED
File without changes

5

文字の修正

2021/12/18 14:39

投稿

jy8666
jy8666

スコア2

test CHANGED
File without changes
test CHANGED
@@ -3,8 +3,6 @@
3
3
  Pyvistaを使ってSTLファイル上でクリックした回数をカウントさせ、2回目に座標選択の確定(yes/no)判定を入れたいのですが、うまく動きません。
4
4
 
5
5
  エラーを回避するにはどうすればよいでしょうか。
6
-
7
- Pythonに触れてまだ日が浅く、基礎的な事かもしれませんがご教授のほどよろしくお願いします。
8
6
 
9
7
 
10
8
 

4

エラーメッセージの不備がありました。

2021/12/18 14:36

投稿

jy8666
jy8666

スコア2

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  WARNING:root:Encountered issue in callback (most recent call last):
18
18
 
19
- File "C:\Users\kudo0\anaconda3\lib\site-packages\pyvista\plotting\render_window_interactor.py", line 133, in _click_callback
19
+ File "C:\Users\anaconda3\lib\site-packages\pyvista\plotting\render_window_interactor.py", line 133, in _click_callback
20
20
 
21
21
  callback(self._plotter.pick_click_position())
22
22
 

3

タイトルの修正

2021/12/18 06:37

投稿

jy8666
jy8666

スコア2

test CHANGED
@@ -1 +1 @@
1
- PythonでSTLファイル上でクリックした回数カウントさせたい
1
+ PythonでSTLファイル上での2回目のクリック時に(yes/no)判定入れたい
test CHANGED
File without changes

2

文字の修正

2021/12/18 05:35

投稿

jy8666
jy8666

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,10 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- Pyvistaを使ってSTLファイル上でクリックした回数をカウントさせ、2回目に座標選択の確定(yes/no)判定を入れたいと考えてい
3
+ Pyvistaを使ってSTLファイル上でクリックした回数をカウントさせ、2回目に座標選択の確定(yes/no)判定を入れたいのですが、うく動きません
4
4
 
5
+ エラーを回避するにはどうすればよいでしょうか。
5
6
 
6
-
7
- classがうまく機能していない原因がわからないため、その理由を教えてほしいです。
8
-
9
- Pythonに触れてまだ日が浅く、基礎的な事かもしれませんがよろしくお願いします。
7
+ Pythonに触れてまだ日が浅く、基礎的な事かもしれませんがご教授のほどよろしくお願いします。
10
8
 
11
9
 
12
10
 
@@ -14,33 +12,15 @@
14
12
 
15
13
 
16
14
 
17
-
18
-
19
15
  ```
20
16
 
21
- Traceback (most recent call last):
17
+ WARNING:root:Encountered issue in callback (most recent call last):
22
18
 
19
+ File "C:\Users\kudo0\anaconda3\lib\site-packages\pyvista\plotting\render_window_interactor.py", line 133, in _click_callback
23
20
 
21
+ callback(self._plotter.pick_click_position())
24
22
 
25
- File "C:\Users\Python Scripts\sample.py", line 6, in <module>
23
+ TypeError: left_click() missing 1 required positional argument: 'self'
26
-
27
- class Count:
28
-
29
-
30
-
31
- File "C:\Users\Python Scripts\sample.py", line 36, in Count
32
-
33
- main()
34
-
35
-
36
-
37
- File "C:\Users\Python Scripts\sample_v2.py", line 34, in main
38
-
39
- w = Count()
40
-
41
-
42
-
43
- NameError: name 'Count' is not defined
44
24
 
45
25
 
46
26
 
@@ -58,7 +38,13 @@
58
38
 
59
39
  # 左クリックしたらoutput関数を処理する
60
40
 
41
+
42
+
61
- class Count:
43
+ import pyvista as pv
44
+
45
+ import numpy as np
46
+
47
+
62
48
 
63
49
  def __inti__(self):
64
50
 
@@ -108,18 +94,6 @@
108
94
 
109
95
  print('error')
110
96
 
111
-
112
-
113
- def main():
114
-
115
- w = Count()
116
-
117
- w.show()
118
-
119
- main()
120
-
121
-
122
-
123
97
 
124
98
 
125
99
  filename = "Lt_tibia.stl"
@@ -156,9 +130,13 @@
156
130
 
157
131
 
158
132
 
159
- for文を使ったプログラムだと無制限に座標が表示されてうまく動かなかったため、count()関数を使用しました。
133
+ ~~for文を使ったプログラムだと無制限に座標が表示されてうまく動かなかったため、count()関数を使用しました。~~
160
134
 
161
135
 
136
+
137
+ >追記
138
+
139
+ クラスがあるとクリックした際に値を呼び出せなくなったためクラスを外しました。
162
140
 
163
141
 
164
142
 

1

文字の修正

2021/12/18 05:28

投稿

jy8666
jy8666

スコア2

test CHANGED
File without changes
test CHANGED
@@ -158,7 +158,7 @@
158
158
 
159
159
  for文を使ったプログラムだと無制限に座標が表示されてうまく動かなかったため、count()関数を使用しました。
160
160
 
161
- かなり見にくいうえに、処理を分岐させる条件が
161
+
162
162
 
163
163
 
164
164