mirror of
https://github.com/storytold/cadcraft.git
synced 2026-10-27 20:36:48 -06:00
BLOCKREPLACE (and -BLOCKREPLACE) turns every reference of one block, in model space, the layouts and other blocks, into a reference of another block at the same insertion point, scale and rotation. Each new reference carries the replacement's attributes, with the values of the tags both blocks define, and is annotative when the replacement is. The command then asks whether to purge the replaced definition, and removes it only when no dimension style names it and no block reference, dimension or multileader in the drawing or in another block definition does. The command refuses a replacement that references the block it replaces, a dynamic block as the block to replace, and blocks that come from an xref. It does not run while the Block Editor or REFEDIT is open. The ATTSYNC helpers in blocks/attribs.rs walk the references and build the new attributes. The self-reference check that BLOCK, INSERT of a file, REFCLOSE and Lisp block creation share now also follows dimension blocks and multileader block content, so BLOCK no longer accepts a redefinition of A from a multileader whose content is A. docs/parity-checklist.md is regenerated.