@Allexx656
student

Возможно ли изменить вес линии в autocad через pyautocad?

В коде ниже создаю квадрат и в некоторых сторонах требуется сделать больший вес. В гугле нашел метод Lineweight, который не подходит под AddLine т.к взаимодействует с другими объектами. Собственно вопросы:
1. Как увеличить вес линии?
2. Есть ли другая библиотека в python для работы с autocad?
3. Другой ЯП для работы с autocad если такой имеется
from pyautocad import Autocad, APoint

acad = Autocad(create_if_not_exists=True)
# Фасад
x1 = int(input('Введите x1:\t'))
y1 = int(input('Введите y1:\t'))
x2 = int(input('Введите x2:\t'))
y3 = int(input('Введите y3:\t'))
# Задаем параметры точек основания здания
p1 = APoint(x1, y1)
p2 = APoint(x2, y1)  # Параметр y2, x3, x4, y4 не задается, из условия что фундамент
p3 = APoint(x1, y3)  # квадратной/прямоугольной. формы. Используется x1 -> x3; x2 -> x4; y3 -> y4
p4 = APoint(x2, y3)  # y1 -> y2
A = acad.model.AddLine(p1, p2)
acad.model.AddLine(p1, p3)
acad.model.AddLine(p2, p4)
acad.model.AddLine(p3, p4)
  • Вопрос задан
  • 322 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dlobyntsev
1. Увеличить вес линии можно:
#создаём линию
A = acad.model.AddLine(p1, p2)
#устанавливаем её вес, например, 1мм
A.Lineweight = 100
"""
Веса линий кодируются как:
-3 - по умолчанию
-2 - по блоку
-1 - по слою
0 - 0мм
5 - 0,05мм
...
40 -0,4мм
...
100 - 1мм
и т.д.
"""

2. Насчёт других библиотек - они не нужны вообще, нужен только pywin32 и описание объектной модели автокада (устанавливается вместе с автокадом). Библиотек для работы с автокадом из Python, полностью закрывающих все аспекты работы, нет.
3. Если нужна плотная работа с автокадом, то лучше обратить внимание на C#. Python может работать с автокадом только через COM, что не очень быстро и не всегда удобно, хотя для большинства задач вполне достаточно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы