Hi,
I've encountered an issue when using fcad_pcb with KiCad versions greater than 8.
Sometimes, a problem arises during the creation of zones in the copper layers and the generation of areas.
Note that this problem is only for a certain type of pcbs, not all.
For testing, I used the PCB file located at:
/usr/share/kicad/demos/test_xil_95108/carte_test.kicad_pcb
Here is the error I got:
('invalid boolean data', [7824, 'locked', 'yes']) ('invalid boolean data', [8937, 'locked', 'yes']) Traceback (most recent call last): . File "/home/..../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 2415, in makeCoppers copper = self.makeCopper(shape_type,t,fit_arcs=fit_arcs, File "/home/...../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 2314, in makeCopper obj = getattr(self,'make{}'.format(name))(fit_arcs=sub_fit_arcs, File "/home/...../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 2278, in makeZones objs = self._makeCompound(objs,'zones', File "/home/....../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 1110, in _makeCompound return self._makeArea(obj,name,label=label,fit_arcs=fit_arcs) File "/home/....../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 1173, in _makeArea ret = ret.getShape() Part.OCCError: 15StdFail_NotDone BRep_API: command not done
Observations:
This issue does not occur when using KiCad 7.0.
The code snippet used to generate the PCB is as follows:
python
Copy
Edit
from fcad_pcb import kicad as kicad
name = "carte_test"
pcb = kicad.KicadFcad("/usr/share/kicad/demos/test_xil_95108/carte_test.kicad_pcb")
pcb.makeCoppers(shape_type='solid', holes=False, fuse=True)
Investigation:
Upon further investigation, it appears that the error originates from line 1139 in kicad.py.
Additional Information:
The error seems to occur specifically during the creation of zones in the copper layers and the generation of areas. This might be related to changes in the PCB file format or zone definitions in KiCad versions greater than 8.
Please let me know if you need any further information or if there's a potential workaround for this issue.
Thank you!
Hi,
I've encountered an issue when using fcad_pcb with KiCad versions greater than 8.
Sometimes, a problem arises during the creation of zones in the copper layers and the generation of areas.
Note that this problem is only for a certain type of pcbs, not all.
For testing, I used the PCB file located at:
/usr/share/kicad/demos/test_xil_95108/carte_test.kicad_pcb
Here is the error I got:
('invalid boolean data', [7824, 'locked', 'yes']) ('invalid boolean data', [8937, 'locked', 'yes']) Traceback (most recent call last): . File "/home/..../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 2415, in makeCoppers copper = self.makeCopper(shape_type,t,fit_arcs=fit_arcs, File "/home/...../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 2314, in makeCopper obj = getattr(self,'make{}'.format(name))(fit_arcs=sub_fit_arcs, File "/home/...../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 2278, in makeZones objs = self._makeCompound(objs,'zones', File "/home/....../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 1110, in _makeCompound return self._makeArea(obj,name,label=label,fit_arcs=fit_arcs) File "/home/....../.local/share/FreeCAD/Macro/fcad_pcb/kicad.py", line 1173, in _makeArea ret = ret.getShape() Part.OCCError: 15StdFail_NotDone BRep_API: command not doneObservations:
This issue does not occur when using KiCad 7.0.
The code snippet used to generate the PCB is as follows:
python
Copy
Edit
from fcad_pcb import kicad as kicad
name = "carte_test"
pcb = kicad.KicadFcad("/usr/share/kicad/demos/test_xil_95108/carte_test.kicad_pcb")
pcb.makeCoppers(shape_type='solid', holes=False, fuse=True)
Investigation:
Upon further investigation, it appears that the error originates from line 1139 in kicad.py.
Additional Information:
The error seems to occur specifically during the creation of zones in the copper layers and the generation of areas. This might be related to changes in the PCB file format or zone definitions in KiCad versions greater than 8.
Please let me know if you need any further information or if there's a potential workaround for this issue.
Thank you!