Sommigen van jullie kennen misschien het key-commando voor het exporteren van Shared Cells naar een cell-bibliotheek:


export cells shared [path]


Op de plek van [path]  type je de plek van de cell-bibliotheek waar de cellen in terecht moeten komen.


Maar wat moet je dan doen met (normal) cells? Er is niet direct een tool om van een normal cell een shared cell te maken (omgekeerd kan overigens wel, met Drop (to Normal Cell)).


Het leek me interessant om de Python Assistant daar eens op los te laten. 

Hieronder zie je de stappen die ik daarin gezet heb en de oplossing die ik gevonden heb. Dat betekent overigens niet dat er niet meer oplossingen zijn, er zijn mogelijk nog (veel) manieren te verzinnen om dit doen.


Ik begon met de Python Assistant te vragen om een script te schrijven voor het exporteren van normal cells naar een cell-bibliotheek. 


Write a script for exporting all cells in the drawing to "C:\TEMP\Test.cel"


Na een paar mislukte pogingen waarbij ik elke keer de foutmeldingen terug melde naar de Python Assistant en de code steeds ingewikkelder werd, zonder resultaat, besloot ik het over een andere boeg te gooien.


Het is immers niet nodig om rechtstreeks de cellen naar de cellbibliotheek te schrijven, zolang ik maar zorg dat mijn cellen allemaal shared zijn dan kan ik de bovengenoemde key-in gebruiken om de export te doen.


Can you write a script that converts all normal cells to shared cells?


Dit leverde al snel een heel aantal netjes geconverteerde cellen op, maar er was een probleem:

De aangrijpingspunten van de cellen lagen veel te ver van de eigenlijke cellen af (dat kwam omdat elke cell gedropt werd en opnieuw gemaakt met het 0,0-punt van de tekening).


Can you move all cells tot coordinate 0,0?


Deze aanvulling had niet het gewenste effect.

En het verplaatsen van alle cellen in de tekening naar 0,0 kan ik ook vrij eenvoudig zelf doen (ik laat Element Selection alle cellen in de tekening selecteren en daarna verander ik in Properties het aangrijpingspunt van alle cellen naar 0,0).


Daarna werden bijna alle cellen geconverteerd behalve de Annotation Cells en de cellen zonder naam.


Can you include the Annotation Cells en can you name the unnamed cells?

Nu worden wel alle cellen omgezet naar shared cells én er verschijnt een schermpje dat vraagt welke naam je wil geven aan de naamloze cellen. Je geeft hierin de naam aan bijvoorbeeld "cell-" en daarna worden de naamloze cellen één voor één omgezet naar een cell met de naam cell-001, cell-002 etc.


Nu kun je de key-in gebruiken om de cellen naar de cell-bibliotheek te exporteren.


In de bijlage vind je de python-code die ik 'gemaakt' heb, dan kun je het zelf ook eens uitproberen.