def test_resolve_block_entities(doc): ctx = RenderContext(doc) msp = doc.modelspace() blockref = msp.query("INSERT").first ctx.push_state(ctx.resolve_all(blockref)) assert ctx.inside_block_reference is True lines = list(blockref.virtual_entities()) # properties by block line1 = ctx.resolve_all(lines[0]) assert lines[0].dxf.linetype == "BYBLOCK" assert line1.color == "#00ff00" assert line1.linetype_name == "CENTER" assert line1.lineweight == 0.13 # explicit properties line2 = ctx.resolve_all(lines[1]) assert lines[1].dxf.linetype == "DASHED" assert line2.color == "#ff0000" assert line2.linetype_name == "DASHED" assert line2.lineweight == 0.50 # properties by layer 'Test' line3 = ctx.resolve_all(lines[2]) assert lines[2].dxf.linetype == "BYLAYER" assert line3.color == "#0000ff" assert line3.linetype_name == "DOT" assert line3.lineweight == 0.70 ctx.pop_state() assert ctx.inside_block_reference is False
def test_resolve_block_entities(doc): ctx = RenderContext(doc) msp = doc.modelspace() blockref = msp.query('INSERT').first ctx.push_state(ctx.resolve_all(blockref)) assert ctx.is_block_context is True lines = list(blockref.virtual_entities()) # properties by block line1 = ctx.resolve_all(lines[0]) assert lines[0].dxf.linetype == 'BYBLOCK' assert line1.color == '#00ff00' assert line1.linetype_name == 'CENTER' assert line1.lineweight == 0.13 # explicit properties line2 = ctx.resolve_all(lines[1]) assert lines[1].dxf.linetype == 'DASHED' assert line2.color == '#ff0000' assert line2.linetype_name == 'DASHED' assert line2.lineweight == 0.50 # properties by layer 'Test' line3 = ctx.resolve_all(lines[2]) assert lines[2].dxf.linetype == 'BYLAYER' assert line3.color == '#0000ff' assert line3.linetype_name == 'DOT' assert line3.lineweight == 0.70 ctx.pop_state() assert ctx.is_block_context is False