jimy-byerley/pymadcad

AttributeError: 'FacesDisplay' object has no attribute 'va'

Closed this issue ยท 6 comments

Hello,

I just run the demo code

m = screw(10, 20) show([m]
and got the AttributeError. Below is the detailed information. Thanks

`
tried to display <madcad.mesh.mesh.Mesh object at 0x000001D2AE97F220>
Traceback (most recent call last):
File "D:\Anaconda3\envs\sp1\lib\site-packages\madcad\rendering.py", line 675, in update
self.displays[key] = disp = scene.display(obj, self.displays.get(key))
File "D:\Anaconda3\envs\sp1\lib\site-packages\madcad\rendering.py", line 598, in display
disp = obj.display(self)
File "D:\Anaconda3\envs\sp1\lib\site-packages\madcad\mesh\mesh.py", line 663, in display
return displays.SolidDisplay(scene,
File "D:\Anaconda3\envs\sp1\lib\site-packages\madcad\displays.py", line 259, in init
self.disp_faces = FacesDisplay(scene, self.vertices, normals, faces, color=color, reflect=reflect, layer=0)
File "D:\Anaconda3\envs\sp1\lib\site-packages\madcad\displays.py", line 389, in init
self.vb_faces = scene.ctx.buffer(np.array(faces, 'u4', copy=False))
File "D:\Anaconda3\envs\sp1\lib\site-packages\moderngl_init_.py", line 1732, in buffer
res.mglo, res._size, res._glo = self.mglo.buffer(data, reserve, dynamic)
ValueError: ndarray is not C-contiguous
Exception ignored in: <function FacesDisplay.del at 0x000001D297DFF4C0>
Traceback (most recent call last):
File "D:\Anaconda3\envs\sp1\lib\site-packages\madcad\displays.py", line 409, in del
if self.va:
AttributeError: 'FacesDisplay' object has no attribute 'va'

`

This problem is generated by numpy, it is equal to #85 and #88. The problem has already been corrected in the master branch, but otherwise you must work with numpy version 1.24.4.

I think I will make a release for this fix, so no one will get trapped into this anymore

I tried to install it from the master branch, but got file madcad/core.c cannot be fund error.

`
(sp1) D:\git\mesh\pymadcad>python setup.py build_ext --inplace
running build_ext
building 'madcad.core' extension
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -ID:\Anaconda3\envs\sp1\include -ID:\Anaconda3\envs\sp1\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcmadcad/core.c /Fobuild\temp.win-amd64-cpython-39\Release\madcad/core.obj
core.c
c1: fatal error C1083: Cannot open source file: 'madcad/core.c': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe' failed with exit code 2

(sp1) D:\git\mesh\pymadcad>
`

I tried to install it from the master branch, but got file madcad/core.c cannot be fund error.

` (sp1) D:\git\mesh\pymadcad>python setup.py build_ext --inplace running build_ext building 'madcad.core' extension "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -ID:\Anaconda3\envs\sp1\include -ID:\Anaconda3\envs\sp1\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcmadcad/core.c /Fobuild\temp.win-amd64-cpython-39\Release\madcad/core.obj core.c c1: fatal error C1083: Cannot open source file: 'madcad/core.c': No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe' failed with exit code 2

(sp1) D:\git\mesh\pymadcad> `

Did you install Cython?

Yes, after installing Cython, I was able to to install the mater branch version pymadcad.

Thank you EdwinSoft

Thanks @EdwinSoft ๐Ÿ‘
If there is no problem related to the backtrace in the initial post, I will close this issue.