Последние сообщения

Последние сообщения

Страницы: [1] 2 3 ... 10
1
Возможно следует "поиграться"  с DBMOD, и перед вызовом методов Publish..., выставить ее в 1, затем вернуть как было)))
Она у тебя и так установлена в 1, так как ты модифицировал базу. Скорее нужно установить в 0, но это сомнительно.
2
После отработки метода  PublishDsd, я подчищаю словарь PlotSettingsDictionary и удаляю все "свои" объекты PlotSettings из БД чертежа.
Понятно. Спишем это на "особенность" AutoCAD 2012. Так как эта версия давно снята с поддержки, то повлиять на её поведение мы не можем и приходится подстраиваться под её особенности.
3
Возможно следует "поиграться"  с DBMOD, и перед вызовом методов Publish..., выставить ее в 1, затем вернуть как было)))
4
Постараюсь объяснить. "убрать следы" означает  не оставлять ненужных объектов. Поскольку перед выполнением метода PublishDsd(Execute) выполняется сохранение, сохраняются также и именованные параметры листов, которые созданы моей утилитой (настроенные как мне нужно объекты типа PlotSettings заносятся как в БД так и в словарь PlotSettingsDictionary). Пользователю о них знать необязательно)). После отработки метода  PublishDsd, я подчищаю словарь PlotSettingsDictionary и удаляю все "свои" объекты PlotSettings из БД чертежа. Но! Если теперь пользователь сам не сохранит чертеж(например перед закрытием оного), они так и будут "висеть" при следующем открытии файла. Поэтому приходится сохранять чертеж и после "подчистки". 
5
Попробовал непосредственно перед вызовом PublishDsd, программно выполнить сохранение чертежа.

Да, как раз в этом и была проблема =) Выполнил программное сохранение чертежа и все сработало =)))
И версия AutoCAD тоже 2012?
6
witiger
Вы не указали метод связи с Вами.
7
но это не есть гуд (ИМХО), поскольку потом приходится сохранять чертеж еще раз, чтобы "убрать следы"
Про следы не понял.
8
AutoCAD .NET API / Re: Как продлить дугу?
« Последний ответ от Александр Ривилис 23-04-2018, 20:26:40 »
Как изменить длину дугу. Например, отрезать у дуги длинной 10 мм по 1 мм с каждой стороны.
Отрезать несложно. Объясню на пальцах без кода:
1. Находим длину дуги:
Код - C# [Выбрать]
  1. double len = arc.GetDistanceAtParameter(arc.EndParam)
2. Находим параметры начала и конца обрезанной дуги:
Код - C# [Выбрать]
  1. double t1 = arc.GetParameterAtDistance(1); // Новое начало дуги укороченной на 1
  2. double t2 = arc.GetParameterAtDistance(len - 1); // Новый конец дуги укороченной на 1
3. Воспользуемся методом arc.GetSplitCurves для разделения дуги на три части. Средняя (вторая) часть и будет наша укороченная.

Можно конечно и чисто геометрически это сделать.
9
Мне-нет. Как отмечено выше, рабочий вариант найден, но это не есть гуд (ИМХО), поскольку потом приходится сохранять чертеж еще раз, чтобы "убрать следы"
10
И установка backgroundplot в 0 не помогает?
Страницы: [1] 2 3 ... 10