jimy-byerley / pymadcad

Simple yet powerful CAD (Computer Aided Design) library, written with Python.
https://madcad.netlify.app/
GNU Lesser General Public License v3.0
211 stars 17 forks source link

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

Closed 1939938853 closed 1 year ago

1939938853 commented 1 year ago

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'

`

EdwinSoft commented 1 year ago

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.

jimy-byerley commented 1 year ago

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

1939938853 commented 1 year ago

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> `

EdwinSoft commented 1 year ago

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?

1939938853 commented 1 year ago

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

Thank you EdwinSoft

jimy-byerley commented 1 year ago

Thanks @EdwinSoft :+1: If there is no problem related to the backtrace in the initial post, I will close this issue.