Lisp. Cтранное поведение блока после vla-put-Thickness - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. Cтранное поведение блока после vla-put-Thickness

Lisp. Cтранное поведение блока после vla-put-Thickness

Ответ
Поиск в этой теме
Непрочитано 19.03.2015, 14:37
Lisp. Cтранное поведение блока после vla-put-Thickness
sdv79
 
Инженер ЭОМ
 
Москва
Регистрация: 05.03.2009
Сообщений: 215

После применения кода, изменение vla-put-Thickness на пример на 10.0 блок ЖЕСТОКО перекашивает. Причину выяснить не могу. После возвращения vla-put-Thickness на пример на 0.0 все становиться на свои места. Если изменить данный параметр руками через редактор блока, все хорошо. Но это не наш метод. В чем дело?
Код:
[Выделить все]
 
     (setq VLA-OBJECT (vlax-ename->vla-object
		         (entlast)
                        ) ;/ vlax-ename->vla-object
       ) ;/ setq

(setq adoc (vla-get-activedocument
              (vlax-get-acad-object)
             ) ;/ vla-get-activedocument
  ) ;/ setq
  (setq block_def (vla-item ; vla-óêàçàòåëü íà îïèñàíèå áëîêà, âèäà #<VLA-OBJECT IAcadBlock 000000003c8ca0d8>
                    (vla-get-blocks
                     adoc
		    ) ;/ vla-get-blocks
                    (vla-get-Effectivename VLA-OBJECT)
                  ) ;/ vla-item
  ) ;/ setq
  (setq *block_cont ( ; ïîëó÷èòü ñïèñîê âñåõ ïðèìèòèâîâ, âõîäÿùèõ â áëîê
		     (lambda (/ res)
                      (vlax-for sub block_def
                       (setq res (cons sub res))
                      ) ;/ vlax-for
                      (reverse res)
                    ) ;/  lambda
                   )
  ) ;/ setq
  (setq *result_ent (vl-remove-if-not ; îòôèëüòðîâàòü âñå ïðèìèòèâû, èç ñîñòàâà óêàçàííîãî áëîêà, êîòîðûå íå ÿâëÿþòñÿ áëîêîì
                      (function
                       (lambda (x)
			(or 
                         (= (vla-get-objectname x) "AcDbPolyline") ;  çäåñü ñòàâèì ôèëüòð, òîãî ÷òî íàì íàäî "AcDbBlockReference" "AcDb3dSolid"...
			 (= (vla-get-objectname x) "AcDbCircle") ; äëÿ êðóãëîãî
			) ;/ or 
                       ) ;/ lambda
                     ) ;/ function
                    *block_cont
                   ) ;/ vl-remove-if-not
  ) ;/ setq

 (vla-put-Thickness
   (car *result_ent)
   10.0
 ) ;/ vla-put-Thickness

(arxload "battman")
(acet-attsync (vla-get-Effectivename VLA-OBJECT))
(vl-cmdf "_AttSync" "Имя" (vla-get-Effectivename VLA-OBJECT))

Вложения
Тип файла: dwg
DWG 2007
Чертеж2.dwg (326.6 Кб, 1787 просмотров)


Последний раз редактировалось sdv79, 19.03.2015 в 15:20.
Просмотров: 4651
 
Автор темы   Непрочитано 19.03.2015, 17:26
#21
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Do$, изначально вопрос был почему не работает код, и как его поправить, о чем изложил в шапке, а дальше пошла вода.
Алексей, на прямую толщину конечно же изменить нельзя, т.к это свойство полилилинии, которая находится в блоке.
Есть блок, со своими потрохами, есть код. С круглым блоком код работает, с прямоугольным нет.
Помогите мне с кодом, или блоком. Необходимо воздействовать только на полилинию в блоке, и ВСЕ! КАК?
sdv79 вне форума  
 
Непрочитано 19.03.2015, 17:41
#22
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450


В ACAD2015 ничего не "перекашивает"
Вложения
Тип файла: lsp change-block-definition.lsp (2.3 Кб, 9 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.03.2015, 18:21
#23
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от sdv79 Посмотреть сообщение
Помогите мне с кодом
для начала скопируйте свой код из блокнота, а не из vlide
gomer вне форума  
 
Непрочитано 19.03.2015, 18:59
#24
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
для начала скопируйте свой код из блокнота, а не из vlide
Или как минимум переключившись на русскую раскладку клавиатуры перед копированием.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 20.03.2015, 09:27
#25
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Код получился сложный для восприятия. НЕ РАБОТАЕТ.

Последний раз редактировалось sdv79, 20.03.2015 в 09:44.
sdv79 вне форума  
 
Непрочитано 20.03.2015, 10:26
#26
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от sdv79 Посмотреть сообщение
НЕ РАБОТАЕТ.
Работает как миленький. http://autode.sk/1I3x52L

P.S. http://bash.im/quote/268537 (осторожно, мат)
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 20.03.2015, 10:53
#27
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Код представленный Алексеем НЕ РАБОТАЕТ в связке с блоком из 1 поста. Он его перекашивает. Эффект тот же, что код в шапке.
Do$ попробуйте сами.
Александр, учту, не знал.
sdv79 вне форума  
 
Непрочитано 20.03.2015, 12:32
#28
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от sdv79 Посмотреть сообщение
Код представленный Алексеем НЕ РАБОТАЕТ в связке с блоком из 1 поста. Он его перекашивает.
Еще раз повторяю - код работает отлично: http://autode.sk/1Fclbp6
Если что-то не устраивает, то не надо КАПСОМ кричать. Попробуйте лучше БОЛЬШИМ КОЛИЧЕСТВОМ СЛОВ ПОДРОБНО ОПИСАТЬ ПРОБЛЕМУ! А то полпоста пытаемся понять что нужно, еще полпоста препираемся о работоспособности кода...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 20.03.2015, 12:47
#29
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Do$ а теперь попробуйте изменить длину или ширину за ручки. Не похож на прямоугольник))
Миниатюры
Нажмите на изображение для увеличения
Название: Буфер обмена01.jpg
Просмотров: 17
Размер:	82.6 Кб
ID:	146114  
sdv79 вне форума  
 
Непрочитано 20.03.2015, 16:32
#30
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Ну наконец-то, к 30 сообщению выяснили в чем проблема...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. Cтранное поведение блока после vla-put-Thickness



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перенести в чертеж блок из файла библиотеки блоков Main Urod Программирование 8 03.02.2010 14:15
Слои после взрывания блока mmax AutoCAD 15 16.06.2006 11:12
Поведение AutoCAD 2005 после установки 2006 Кулик Алексей aka kpblc AutoCAD 12 10.08.2005 08:49