У меня есть код, который отображает макет, созданный с помощью ezdxf, но у меня возникли проблемы с настройкой параметра прозрачности графика, поскольку у меня есть внешняя ссылка на изображение, прозрачность которого я хочу сделать на 40 %.
Это код, который я использую для печати всего файла dxf, но я не знаю, как установить для параметра прозрачности значение True в параметрах печати, я не могу найти документацию по этим ссылкам.
Также было бы очень хорошо, если бы при создании макета в ezdxf я мог установить все параметры печати для каждого макета.
doc = ezdxf.readfile(dxf_path)
layout = doc.layouts.new(name='layout_name')
layout.applyPlotOptions(papersize="ISO_full_bleed_A1_(841.00_x_594.00_MM)", plotsytle table='style.ctb', plottransparency=0.6, etc)
Я был бы очень признателен за любую помощь в этом вопросе.
Чело.
def plot_layouts(dwg_path, ctb_file_path, output_folder):
if not os.path.exists(output_folder):
os.mkdir(output_folder)
# Initialize AutoCAD
acad = win32com.client.Dispatch("AutoCAD.Application")
acad.Visible = False # Set to False if you don't want to show AutoCAD
# Open the DWG file
doc = acad.Documents.Open(dwg_path)
# Loop through all layouts
for i in range(doc.Layouts.Count):
print(i)
time.sleep(5)
layout = doc.Layouts.Item(i + 1) # Indexing starts from 1 in COM
# Set the layout as active
doc.ActiveLayout = layout
# Configure the plot settings
doc.ActiveLayout.ConfigName = "DWG To PDF.pc3" #se puede cambiar a cualquier pc3 configurado
doc.ActiveLayout.StyleSheet = ctb_file_path
# doc.ActiveLayout.CanonicalMediaName = "ISO_expand_A4_(210.00_x_297.00_MM)" #debe coincidir exctamente el nombre
doc.ActiveLayout.CanonicalMediaName = "ISO_full_bleed_A1_(841.00_x_594.00_MM)" #debe coincidir exctamente el nombre
# Set the output file path
output_file_path = f"{output_folder}/{layout.Name}.pdf"
# Plot the layout
doc.Plot.PlotToFile(output_file_path)
time.sleep(5)
# Close the document without saving changes
doc.Close(SaveChanges=True)
# Quit AutoCAD
acad.Quit()
Подробнее здесь: https://stackoverflow.com/questions/785 ... e-plotsett