mkeeter / kokopelli

Script-based CAD/CAM in Python (deprecated)
https://mattkeeter.com/projects/kokopelli
Other
296 stars 49 forks source link

Question: Retro mode #2

Open PartyTonight opened 11 years ago

PartyTonight commented 11 years ago

Hi Matt, will kokopelli have some sort of retro/compatibility mode so that we wan continue designing .cad circuit boards with it?

Thanks

mkeeter commented 11 years ago

Hi PartyTonight,

Short answer: No, but I'm developing a new library for pcb design and plan to port Neil's example files.

Long answer: All of Neil's PCB example files rely on an older render path that has been deprecated for about six months. I'm not interested in maintaining both render paths (and the newer render path is faster / better), so the GitHub version of kokopelli will not support .cad circuit boards as provided in Neil's examples.

That being said, I know that a lot of people like starting from the examples and iterating to create their own circuits. I'm working on a new pcb library (you can see the scaffolding beginning to emerge in koko/lib/pcb.py) and plan to port over the example files once I'm done. I plan to finish this task by the fall, so students in fab class will be able to use a set of examples that actually work with kokopelli.

Let me know if you're interested in helping and testing out the new koko.lib.pcb library.

I'll be keeping this issue open to provide progress updates.

-Matt

PartyTonight commented 11 years ago

EDITED.

Hi Matt, thanks for your response.

Absolutelly, I'l be glad of helping beta testing and porting Neil's .cad files to the new library.

Also one of the things I wanted to add to the old PCB library was a set of dot matrix characters in order to place text in the boards like this:

final-06dotmatrix

The idea is to make a class (?) for the dots that make a circle depending on an array of parameters that are 1 and 0. And then create a library of characters that actually are arrays of 1's and 0's.

The advantadge over a font is that with dot matrix everybody can create custom characters (japanese hiragana, russian, arrows, etc…) just by changing the 1's and 0's. Also the dots could be as small as the milling bit.

I am now researching what would be the best matrix size (nxm dots) in order to be as universal as possible.So far I found that 5x7 was a standard back in the old dot matrix printers allowing numerals, uppercase and katakana. So that would be my starting point.

Cheers

Francisco

PartyTonight commented 11 years ago

So class L_1210 from the old library would look like:

_pad_1210 = s2d.rectangle(-.032,.032,-.048,.048) class L_1210(component): ''' 1210 Inductor ''' pins = [Pin(-0.06, 0, _pad_1210), Pin(0.06, 0, _pad_1210)] prefix = 'L'

So are you going to translate all the items from the old library (listed below)? How can I help?

#

PCB library

#

#

discretes

# class R_0402(part): class R_1206(part): class C_1206(part): class L_1210(part): class choke(part):

#

connectors

# class USB_mini_B(part): class header_4(part): class header_signal(part): class header_power(part): class header_i0(part): class header_serial(part): class header_bus(part): class header_APA(part): class header_6(part): class header_ISP(part): class header_unipolar_stepper(part): class header_LCD(part): class header_FTDI(part): class MTA_2(part): class MTA_power(part): class MTA_3(part): class MTA_i0(part): class MTA_4(part): class MTA_serial(part): class MTA_PS2(part): class MTA_5(part): class MTA_ICP(part): class screw_terminal_2(part): class screw_terminal_power(part): class screw_terminal_i0(part): class power_65mm(part): class stereo_2_5mm(part): class Molex_serial(part):

#

switches

# class button_6mm(part):

#

crystals and resonators

# class XTAL_EFOBM(part): class XTAL_NX5032GA(part): class XTAL_CSM_7(part):

#

diodes, transistors, regulators

# class D_1206(part): class LED_1206(part): class LED_RGB(part): class phototransistor_1206(part): class phototransistor_PLCC2(part): class D_SOD_123(part): class NMOSFET_SOT23(part): class PMOSFET_SOT23(part): class NMOSFET_TO252AA(part): class regulator_SOT23(part): class regulator_SOT223(part): class H_bridge_SM8(part):

#

ICs

# class op_amp_SOT23_5(part): class op_amp_SOICN(part): class TRC102(part): class ATtiny45_SOIC(part): class ATmega88_TQFP(part): class ATmega644_TQFP(part): class TRC102(part):

#

graphics

class CBA(part): class CBA(part):