• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Adding class/subclass to artwork films

Stats

  • Replies 2
  • Subscribers 159
  • Views 1203
  • Members are here 0
More Content

Adding class/subclass to artwork films

bulldog
bulldog over 16 years ago

Hi all,

I have a snippet from film_reorder.il that I would like to modify.  I would like to check the film_layers list for the DRAWING FORMAT/TITLE_BLOCK class/subclass and add it if it is not present.  Can anyone point me in the right direction on how to do this?  The snippet follows:

(defun get_film_list ()

prog( (dbid_film test_film _film _active_films tfilm)

defstruct(filmrecord film_name film_layers pad_aperture fullcontact mirror negative rotation

shapefill unconnect_pads aperture_rotation vector)

(setq i 0)

dbid_film = axlGetParam("artwork")

foreach(filmgp dbid_film->groupMembers

test_film = strcat("artwork:" filmgp)

_film = axlGetParam(test_film)

film_array[i] = make_filmrecord(

?film_name _film->name

?film_layers list(_film->groupMembers)

?pad_aperture _film->drawMissingPadApertures

?fullcontact _film->fullContact

?mirror _film->mirrored

?negative _film->negative

?rotation _film->rotation

?shapefill _film->suppressShapeFill

?unconnect_pads _film->suppressUnconnectPads

?aperture_rotation _film->useApertureRotation

?vector _film->vectorBasedPad

)

; Modify the structures to have 0 or 1 so as to pass argument during film creation.

if(film_array[i]->pad_aperture == t then film_array[i]->pad_aperture=1 else film_array[i]->pad_aperture=0)

if(film_array[i]->fullcontact == t then film_array[i]->fullcontact=1 else film_array[i]->fullcontact=0)

if(film_array[i]->mirror == t then film_array[i]->mirror=1 else film_array[i]->mirror=0)

if(film_array[i]->negative == t then film_array[i]->negative=0 else film_array[i]->negative=1)

if(film_array[i]->shapefill == t then film_array[i]->shapefill=0 else film_array[i]->shapefill=1)

if(film_array[i]->vector == t then film_array[i]->vector=1 else film_array[i]->vector=0)

if(film_array[i]->unconnect_pads == t then film_array[i]->unconnect_pads=1

else film_array[i]->unconnect_pads=0)

if(film_array[i]->aperture_rotation == t then film_array[i]->aperture_rotation=1

else film_array[i]->aperture_rotation=0)

case(film_array[i]->rotation

(0 film_array[i]->rotation=0)

(90 film_array[i]->rotation=2)

(180 film_array[i]->rotation=4)

(270 film_array[i]->rotation=6)

) ; end case

i++

) ; end foreach

return(i)

) ; end prog

);end defun

  • Sign in to reply
  • Cancel
Parents
  • eDave
    eDave over 16 years ago

    Try replacing _film = axlGetParam(test_film) with the following lines:

     _film = axlGetParam(test_film)
      unless(member("DRAWING FORMAT/TITLE_BLOCK", _film ->groupMembers)
        _film ->groupMembers = cons("DRAWING FORMAT/TITLE_BLOCK", _film ->groupMembers)
      )

    Dave

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • eDave
    eDave over 16 years ago

    Try replacing _film = axlGetParam(test_film) with the following lines:

     _film = axlGetParam(test_film)
      unless(member("DRAWING FORMAT/TITLE_BLOCK", _film ->groupMembers)
        _film ->groupMembers = cons("DRAWING FORMAT/TITLE_BLOCK", _film ->groupMembers)
      )

    Dave

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information