Model Studio CS
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > AUTOCAD 2016 не работает программа вырезания фрагмента генплана Помогите внести изменения.

AUTOCAD 2016 не работает программа вырезания фрагмента генплана Помогите внести изменения.

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 19.01.2016, 20:29 #1
AUTOCAD 2016 не работает программа вырезания фрагмента генплана Помогите внести изменения.
jackUAROBEY
 
Регистрация: 18.09.2014
Сообщений: 24

jackUAROBEY вне форума Вставить имя

Всем привет. Программа Fragm_Den во вложении, вырезание фрагмента генплана не корректно работает в AUTOCAD2016. Если в чертеже есть маскировка или рисунок выдает ошибку internal error. При удалении маскировки все работает. До этого на AUTOCAD2012 такой проблемы не было. Глючит в этом месте. В лиспе отмечено
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(mapcar '(lambda (q)

(if (= (car q) 14)(progn

(setq aa13 (cdr q)
aa13 (mapcar '- aa13 aa14)
aa13 (mapcar '- (mapcar '* aa11 (list (car aa13)(car aa13)))
(mapcar '* aa12 (list (cadr aa13)(cadr aa13))))
aa13 (mapcar '+ aa10 aa13))

(command (trans aa13 0 1))
))

) aa9)
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Вложения
Тип файла: lsp Fragm_Den1.lsp (19.7 Кб, 63 просмотров)
Тип файла: dwg
DWG 2007
Чертеж1.dwg (154.6 Кб, 478 просмотров)


Последний раз редактировалось jackUAROBEY, 20.01.2016 в 08:17.
Просмотров: 4068
 
Непрочитано 19.01.2016, 21:04
1 | #2
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 3,293


Обратитесь к автору программы "Замечания и предложения по адресу fd-@mail.ru"
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.01.2016, 08:15
#3
jackUAROBEY


 
Регистрация: 18.09.2014
Сообщений: 24



Я на эту почту уже писал не отвечает.
jackUAROBEY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.01.2016, 19:23
1 | #4
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Днепропетровск
Сообщений: 3,449


Где-то на форуме писали, что в новейших версиях Акада функция (command) работает как-то иначе, чем в более ранних. А перед началом выделенного фрагмента как раз есть ее вызов
Код:
[Выделить все]
(command "_.pline")
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(mapcar '(lambda (q)

(if (= (car q) 14)(progn

(setq aa13 (cdr q)
      aa13 (mapcar '- aa13 aa14)
      aa13 (mapcar '- (mapcar '* aa11 (list (car aa13)(car aa13)))
		   (mapcar '* aa12 (list (cadr aa13)(cadr aa13))))
		      aa13 (mapcar '+ aa10 aa13))

(command (trans aa13 0 1))
))

) aa9)
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Потом при выполнении какого-то условия следующей функцией (command) передаются данные для построения полилинии, начатой по вызвову предыдущей (command). Т.е. еще не завершилась команда, посланная в ком. строку первой (command), и уже вызывается вторая.
Получается как бы вложенный вызов второй (command) внутри первой. Видимо, по правилам Acad 2016 так уже нельзя. У самого Акада 2016 нет, поэтому больше подсказать не могу. Разве что переписать этот фрагмент "некомандными" методами.
__________________
Кому жизнь буги-вуги, а кому полный бред... (С)
kp+ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.01.2016, 10:07
1 | #5
Wion

Инженер-проектировщик
 
Регистрация: 05.11.2014
Санкт-Петербург
Сообщений: 12


Может все дело в вызове "command" ?

http://forum.dwg.ru/showpost.php?p=1328098&postcount=8
Wion вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 29.01.2016, 09:47
#6
jackUAROBEY


 
Регистрация: 18.09.2014
Сообщений: 24


Код:
[Выделить все]
 (setvar "DELOBJ" 1)
:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(apply 'command (cons "_.pline"
			(vl-remove nil
			  (mapcar ' (lambda (q)
				     (if (= (car q) 14)
				      (progn
				       (setq aa13 (cdr q)
					aa13 (mapcar '- aa13 aa14)
					aa13 (mapcar '- (mapcar '* aa11 (list (car aa13)(car aa13)))
					      (mapcar '* aa12 (list (cadr aa13)(cadr aa13))))
					aa13 (mapcar '+ aa10 aa13))
				       (trans aa13 0 1)				      
				       );progn
				      );if
				     );lambda
				  aa9);mapcar
			  )
			)
	 )
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Проблему решил. Заменил фрагмент кода. Всем спасибо.
Вложения
Тип файла: lsp Fragm_Den.lsp (20.0 Кб, 107 просмотров)
jackUAROBEY вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.03.2016, 08:39
#7
sergant2la


 
Регистрация: 05.07.2012
Сообщений: 34


Доброе утро! Помогите решить проблему. В AutoCAD 2016 SP1 программа выдает такое сообщение "Неправильное ключевое слово" Задайте параметр: Замкунть, Разомкнуть, Сплайн, Убрать сглаживание, обратить, Отменить. Что делать?
sergant2la вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.03.2016, 08:53
#8
sergant2la


 
Регистрация: 05.07.2012
Сообщений: 34


Скрин проблемы
Миниатюры
Нажмите на изображение для увеличения
Название: Неправильное ключевое слово.png
Просмотров: 84
Размер:	8.0 Кб
ID:	166483  
sergant2la вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.03.2016, 09:28
#9
trushev


 
Регистрация: 12.01.2015
Сообщений: 239


Цитата:
Сообщение от sergant2la Посмотреть сообщение
Что делать?
Скорее всего решение в #5. И обратите внимание на различия синтаксиса функций:
Синтаксис функции command-s:
(command-s [cmdname [arguments ...]]).
Синтаксис функции command:
(command [cmdname [arguments ...]] ... [cmdname [arguments ...]]).
trushev вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 04.03.2016, 19:49
#10
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,449
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Судя по сообщению на картинке проблема в красной строчке
Цитата:
(defun *error* (msg)
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
(if (< (atof (getvar "ACADVER")) 17.1)
(vla-sendcommand (vla-get-activedocument
(vlax-get-acad-object)) "_.undo 1 ")
(command nil nil nil nil "_.undo" 1))
(princ "\nВыход во время обработки данных\n")
)
Попробуй без этой строчки (оставлена синяя скобка)

Код:
[Выделить все]
(defun *error* (msg)
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
(if (< (atof (getvar "ACADVER")) 17.1)
(vla-sendcommand (vla-get-activedocument
(vlax-get-acad-object)) "_.undo 1 ")
) ;_ (command nil nil nil nil "_.undo" 1)
(princ "\nВыход во время обработки данных\n")
)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.03.2016, 08:43
#11
sergant2la


 
Регистрация: 05.07.2012
Сообщений: 34


Цитата:
Сообщение от VVA Посмотреть сообщение
Судя по сообщению на картинке проблема в красной строчке

Попробуй без этой строчки (оставлена синяя скобка)

Код:
[Выделить все]
(defun *error* (msg)
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
(if (< (atof (getvar "ACADVER")) 17.1)
(vla-sendcommand (vla-get-activedocument
(vlax-get-acad-object)) "_.undo 1 ")
) ;_ (command nil nil nil nil "_.undo" 1)
(princ "\nВыход во время обработки данных\n")
)

Огромное спасибо!!! Удалил строчку, всё стало работать.
sergant2la вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.04.2016, 11:46
#12
brokman


 
Регистрация: 22.09.2014
Сообщений: 356


VVA
Так как правильно, удалить строчку и оставить скобку или ваш код
Код:
[Выделить все]
(defun *error* (msg)
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
(if (< (atof (getvar "ACADVER")) 17.1)
(vla-sendcommand (vla-get-activedocument
(vlax-get-acad-object)) "_.undo 1 ")
) ;_ (command nil nil nil nil "_.undo" 1)
(princ "\nВыход во время обработки данных\n")
)
brokman вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.04.2016, 13:01
#13
brokman


 
Регистрация: 22.09.2014
Сообщений: 356


Сначала было ошибка как в посте 8, вставил этот код
Код:
[Выделить все]
(defun *error* (msg)
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
(if (< (atof (getvar "ACADVER")) 17.1)
(vla-sendcommand (vla-get-activedocument
(vlax-get-acad-object)) "_.undo 1 ")
) ;_ (command nil nil nil nil "_.undo" 1)
(princ "\nВыход во время обработки данных\n")
)
в лисп из поста 6, вылазит след:\

Autocad 2015 SP2 лицензия
Миниатюры
Нажмите на изображение для увеличения
Название: Ошибка.png
Просмотров: 35
Размер:	22.5 Кб
ID:	169051  

Последний раз редактировалось brokman, 19.04.2016 в 14:34.
brokman вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.04.2016, 18:42
1 | 1 #14
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,449
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от brokman Посмотреть сообщение
Так как правильно, удалить строчку и оставить скобку или ваш код
В #10 удалить красное, оставить синее
Код во вложении у меня работает
Вложения
Тип файла: lsp Fragm_Den_VVA_2016.lsp (20.2 Кб, 127 просмотров)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.04.2016, 11:00
#15
brokman


 
Регистрация: 22.09.2014
Сообщений: 356


В принципе всё работает, но если в одном месте много всяких блоков, подвшивка и элементов с разными слоями, то выдает, то что я написал выше. файл скинуть пока не могу, вечером скину.
brokman вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 08.04.2017, 23:02
#16
petro_f


 
Регистрация: 06.10.2016
Сообщений: 15


Цитата:
Сообщение от VVA Посмотреть сообщение
В #10 удалить красное, оставить синее
Код во вложении у меня работает
Добрый день коллеги. Немного поправил и дополнил плагин:
  1. При взрыве блока (если он попадает по линии разрыва) удаляются невидимые аттрибуты (взял функцию "Burst without Invisible Attributes" http://www.lee-mac.com/upgradedburst.html) [ver. 2016_burst.zip ].
  2. Добавил рисование линий разрыва и выбор 2 или 4 линии [ver. >= 2.1].
  3. Добавил отдельный функционал рисования линий разрыва. Команда BREAK-LINE [ver. >= 2.1]. Добавил одинарную линию разрыва [ver. >= 2.4].
  4. Немного "причесал" исходный код, что бы было понятно к какой функции какая команда принадлежит [ver. >= 2.1].
  5. Добавил защиту от падений, если вдруг плагин запустят в пространстве листа [ver. >= 2.1].
  6. Добавил функционал блокировки или разблокировки слоёв при работе плагина [ver. >= 2.1].
  7. Добавил функцию запоминания исходных настроек автокада при запуске плагина и возврата к данным настройкам после завершения работы плагина или его вылета по ошибке [ver. >= 2.1].
  8. Поправил функцию рисования задней линии при выборе двойной линии разрыва по команде BREAK-LINE [ver. >= 2.3].

P.S. Взрыв блока с подчисткой невидимых атрибутов я добавил из-за того, что у меня куча блоков со скрытыми атрибутами и не очень удобно потом это всё подчищать.

Может кому пригодится такой вариант плагина.

P.S. Тестил акад 2015-2018
Вложения
Тип файла: zip Fragm_Den_2016_burst.zip (7.5 Кб, 21 просмотров)
Тип файла: rar Fragm_Den [ver. 2.3].rar (12.3 Кб, 1 просмотров)
Тип файла: rar Fragm_Den [ver. 2.5].rar (12.9 Кб, 5 просмотров)
__________________
Если ты разговариваешь с идиотом - убедись что он не занят тем же!

Последний раз редактировалось petro_f, 20.04.2017 в 16:56. Причина: Обновление функционала плагина от 18.04.2017
petro_f вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > AUTOCAD 2016 не работает программа вырезания фрагмента генплана Помогите внести изменения.

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 669 24.03.2017 20:16
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


Размещение рекламы