Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

skkkk пишет:

Спасибо, Денис! Потестировал и обнаружил такую вещь: Если в копируемый фрагмент попадают поля (field), то они теряют связь со своим объектом, превращаясь в нечто вроде "############". При обычном копировании такого не происходит. Реально с этим что-либо сделать?
Больше к чему придраться не нашел - все супер 

Поправлюсь: поля слетают вроде только те, что расположены внутри мультивыносок. В таблицах и текстах остаются
Поправлюсь2: хотя нет, некоторые мультивыноски остались, а тексты слетели (поля в смысле). Закономерность неясна.

skkkk, большая просьба выслать мне на fd-@mail.ru DWG-файлик с полями (field) и с границами для фрагментов, посмотрю, что можно сделать.

Да, "Fragm_Den" от 20.05.09 чуть подправил и в 23.00 заменил код в сообщении "20.05.2009 19:07:57"

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Команда замечательная.
Но, есть пожелания,чтобы атрибуты блока при создания фрагмента конвертировались в текст. Например, использовать команду Burst из Express. Или еще лучше, чтобы блок обрезался подобно в команде Clipit из того же Express

Re: LISP. Фрагмент чертежа по прямоуг. или кругл. границе

Спасибо за отзывы и предложения по улучшению программы.
[quote=Цитата

skkkk]
....
Если в копируемый фрагмент попадают поля (field), то они теряют связь со своим объектом, превращаясь в нечто вроде "############". При обычном копировании такого не происходит. Реально с этим что-либо сделать?
Больше к чему придраться не нашел - все супер

Поправлюсь: поля слетают вроде только те, что расположены внутри мультивыносок. В таблицах и текстах остаются
Поправлюсь2: хотя нет, некоторые мультивыноски остались, а тексты слетели (поля в смысле). Закономерность неясна.

skkkk, большая просьба выслать мне на fd-@mail.ru DWG-файлик с полями (field) и с границами для фрагментов, посмотрю, что можно сделать.


skkkk, получил твой файл, но, похоже, для корректной работы  с полями необходимо полностью менять алгоритм программы (перевод FIELDEVAL в «0» во время выполнения программы дает временный эффект).  Может, есть более простой метод без глобальных изменений и местные ГУРУ дадут совет. Надеюсь на помощь.


Александр пишет:


.....
Но, есть пожелания,чтобы атрибуты блока при создания фрагмента конвертировались в текст. Например, использовать команду Burst из Express. Или еще лучше, чтобы блок обрезался подобно в команде Clipit из того же Express


Александр, насчет атрибутов сейчас тоже без помощи не обойтись. Думаю воспользоваться проверенным кодом из Burst.LSP, сам все равно лучше не придумаю. Постараюсь данную корректировку сделать в ближайшее время.
Если не нужно расчленять все блоки в заданной области, а только на указанной границе, то нужно заменить строчку:
(setq aa3 (ssget "_CP" aa1 '((0 . "INSERT"))))
на:
(setq aa3 (ssget "_F" aa1 '((0 . "INSERT"))))