чертежи AtoCad 2006
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > чертежи AtoCad 2006

чертежи AtoCad 2006

Ответ
Поиск в этой теме
Непрочитано 12.07.2006, 05:19 #1
чертежи AtoCad 2006
Natashechka
 
Специалист САПР
 
Регистрация: 09.12.2005
Сообщений: 95

я в 2006 делала шаблончики, открываю 2005, загружаю их и мне выскакивает сообщение: информация о заместителях - открываемый рисунок или ссылка из него не содержит объекты, созданные недоступным objectarx-приложением. ..... но тут нет посторонних приложений, обычные примитивы автокада и блоки, все. можно как-то это победить?
__________________
С уважением Наталья
Просмотров: 4815
 
Непрочитано 12.07.2006, 09:08
#2
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Можно... скачать ObjectEnabler'ы для тех proxy объектов которые в четреже...

Можно попробовать такой лисп (аффтар Крыс)

Код:
[Выделить все]
;|
=============================================================================
*    Универсальная функция разбития proxy-объектов.
*    Параметры вызова:
*  нет
*    Примеры вызова:
(_kpblc-block-explode-proxy)
=============================================================================|;
(defun _kpblc-block-explode-proxy (/ selset item layer_list)
  (vl-load-com)
  (setq selset (ssget "_X" '((0 . "ACAD_PROXY_ENTITY"))))
  (vlax-for item
            (vla-get-layers (vla-get-activedocument (vlax-get-
acad-object)))
    (if (= (vla-get-lock item) :vlax-true)
      (progn
        (setq layer_list (append layer_list '(item)))
        (vla-put-lock item :vlax-false)
        ) ;_ end of progn
      ) ;_ end of if
    ) ;_ end of vlax-for
  (while (and selset
              (> (sslength selset) 0)
              ) ;_ end of and
    (setq item (ssname selset 0))
    (ssdel item selset)
    (vla-explode (vlax-ename->vla-object item))
    ) ;_ end of while
  (foreach item layer_list
    (vla-put-lock item :vlax-true)
    ) ;_ end of foreach
  ) ;_ end of defun
Код:
[Выделить все]
;|
=============================================================================
*    Сервисная функция для вызова из ком.строки
=============================================================================|;
(defun c:xproxy (/ adoc)
  (vla-startundomark (vla-get-activedocument (vlax-get-acad-
object)))
  (_kpblc-block-explode-proxy)
  (vla-endundomark (vla-get-activedocument (vlax-get-acad-
object)))
  ) ;_ end of defun
X-DeViL вне форума  
 
Непрочитано 12.07.2006, 11:34
#3
Кулик Алексей aka kpblc
Moderator

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


На самом деле функция не очень работает (что ж ты не сказал про это?). Proxy-объекты не разбиваются подобным методом. Когда я сказал про это Александру Ривилису, тот достаточно сильно удивился, поскольку в ObjectARX подобный метод есть. Если я смогу с ним связаться, попрошу выложить сюда arx для 2004 на выполнение подобных задач.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.07.2006, 11:47
#4
X-DeViL

Бизнес-шмизнес
 
Регистрация: 26.05.2004
Питер
Сообщений: 1,911


Это я забыл предупредить "недокументированые функции"
X-DeViL вне форума  
 
Непрочитано 12.07.2006, 12:07
#5
Кулик Алексей aka kpblc
Moderator

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


Только что связался с Ривилисом, ему просто некогда. Выкладываю его arx (писался под 2005, по идее под 2004 работать должен; под 2006 корректно срабатывает, без вопросов). Инструкция по применению внутри. На всякий случай добавляю сюда:
Цитата:
Внутри прописаны несколько функицй:
===
Для вызова из-под лиспа:

(explodeproxyentity ent)
ent - имя примитива вида <entity name: 321456465465465>. Расчленяет только этот примитив, даже если он входит в блок.

(explodeallproxyinblock "имя блока")
Этой функции можно передавать не только имя блока, но и имя примитива внутри блока. Например,
(explodeallproxyinblock (car (nentsel))) ; расчленит все прокси в блоке, на который указали.

Функции возвращают следующие значения:
0 success - успешное завершение
-1 parmerr - ошибка передачи параметра
-2 openerr - ошибка открытия proxy-объекта
-3 explerr - ошибка разбития proxy
-4 appenderr - ошибка добавления "состава" proxy в файл dwg.
-5 eraseerr - ошибка удаления исходного объекта.
Во всех случаях, кроме success и appenderr, требуется провести _.audit для файла.

===
Добавлена также функция для вызова из ком.строки:
explodeallproxy
Разбивает вообще все proxy-объекты, неважно, где они лежат.
[ATTACH]1152691640.rar[/ATTACH]
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.07.2006, 12:45
#6
Natashechka

Специалист САПР
 
Регистрация: 09.12.2005
Сообщений: 95
<phrase 1=


вот спасибо, буду разбираться теперь...
__________________
С уважением Наталья
Natashechka вне форума  
 
Непрочитано 04.08.2006, 04:21
#7
serg01


 
Регистрация: 04.07.2005
Иркутск
Сообщений: 213


>>kpblc
а под 2007 акад есть такой arx ?
serg01 вне форума  
 
Непрочитано 04.08.2006, 08:10
#8
Кулик Алексей aka kpblc
Moderator

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


Это к автору - Александру Ривилису.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.08.2006, 11:42
#9
Александр Ривилис

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


Цитата:
Сообщение от serg01
>>kpblc
а под 2007 акад есть такой arx ?
Еще нет. Немного освобожусь - сделаю.
Александр Ривилис вне форума  
 
Непрочитано 04.08.2006, 11:48
#10
serg01


 
Регистрация: 04.07.2005
Иркутск
Сообщений: 213


понятно
serg01 вне форума  
 
Непрочитано 19.10.2006, 23:30
#11
Александр Ривилис

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


Давал на тестирование под AutoCAD 2007. Так как замечаний по работе не было - выкладываю: http://www.maestrogroup.com.ua/support/ExplodeProxy.zip
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > чертежи AtoCad 2006