I have a program that plots all blocks to png - open a dwg, get a list of all blocks, insert each into an empty dwg, zoom extents, and plot using the OOTB PublishToWeb PNG.pc3. In the attachments is an example of the problem. When I do this manually from a layout, I get the correct image. When I plot from code using the same PC3 file, draworder is being ignored.
It works if I apply transparency to the block and use ps.PlotTransparency = True, but I would prefer not to have to tell the user to change the block definitions. Is there a plotsettings property I am missing?
I searched our database to see any such reported behavior, but could not find any.
I guess the block’s draw order table isn’t refreshed for some reason when you create the drawing while it gets refreshed when you plot it manually.
You may try these to see if it resolves :
1) Open the DrawOrderTable of the block (block.DrawOrderTableId) for write in a transaction and then commit the transaction. This can cause the draw order table to refresh and possibly set the right draw order.
2) Verify if the block in the new drawing has the right relative draw order of its entities using “DrawOrderTable. GetRelativeDrawOrder”
If this does not help, can you please provide a small reproducible sample project and a drawing for me to try?