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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Вставка "чужих" объектов в нужные слои

Вставка "чужих" объектов в нужные слои

Ответ
Поиск в этой теме
Непрочитано 24.05.2010, 11:42 #1
Вставка "чужих" объектов в нужные слои
Jonas
 
конструктор машиностроитель
 
Новосибирск
Регистрация: 14.05.2007
Сообщений: 893

Как автоматом проставлять размеры, штриховать, писать тексты в нужном слое вроде разобрались. Но есть другая беда, это импорт в чертеж объектов из "чужих" файлов. Не знаю как кому а для нашей конторы просто беда. Слои плодяться как грибы. Причем много однотипных (оси, осевые, ось и пр.).
Может кто предложит что нибудь, подходящее?
Понимаю, что не просто.
Например такой вариант:
- опознаваемые объекты (текст, размер, штриховка) в соответстуюшие слои не зависимо от того где они находились. Всё остальное в некий общий слой, например в слой "импорт".
Просмотров: 4219
 
Непрочитано 24.05.2010, 11:44
#2
Кулик Алексей aka kpblc
Moderator

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


А внешние ссылки что, сильно не катят? Да и dws, например, тоже иногда помогает.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.05.2010, 12:08
#3
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


Сделать шаблончик со всеми слоями и начинать работь с него.
Victor вне форума  
 
Автор темы   Непрочитано 24.05.2010, 12:49
#4
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А внешние ссылки что, сильно не катят? Да и dws, например, тоже иногда помогает.
Не совсем понял. Причем внешние ссылки если нужно вставлять не весь фаил а только фрагменты. А ссылка разве приходит не со своими слоями?

Цитата:
Сообщение от Victor Посмотреть сообщение
Сделать шаблончик со всеми слоями и начинать работь с него.
Да, так и есть, работаем со своих шаблонов но при вставке чужих фрагментов вся стройная картина рушиться.
Понимаю, что можно например запретить пользоваться чужими фрагметами а добосовестно перерисовывать их, или вначале менять их принадлежность слоям а затем вставлять.
Беда еще и в том, что часть смежников поставляют документацию в таком виде, что как говориться черт голоу сломит.
Jonas вне форума  
 
Непрочитано 24.05.2010, 13:36
#5
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Jonas Посмотреть сообщение
если нужно вставлять не весь фаил а только фрагменты.
А что, подрезка уже исключена из рассмотрения?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.05.2010, 14:01
#6
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Кто такие "Чужие" для "своих"? Если другие люди из своей конторы, то внутреннее СТП+ репрессивный аппарат, или хороший программист. Если другая контора, то... ручками разве трудно перевести все чужие "осевые линии" в свои "оси"? Команда Layiso и далее Ctrl+1. Или кровавая борьба за единый общероссийский СТП. Или оставить как есть, не беря на себя чужие ошибки.
Vova вне форума  
 
Автор темы   Непрочитано 25.05.2010, 05:04
#7
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от Vova Посмотреть сообщение
Кто такие "Чужие" для "своих"?
Это документация поступающая из структурных подразделений, это документация из архива с тех времен когда никто не задумывался об СТП потому, что нужно было осваивать компьютерное проектирование и т.д.

Цитата:
Сообщение от Vova Посмотреть сообщение
то внутреннее СТП+ репрессивный аппарат, или хороший программист.
Голубая мечта.


Цитата:
Сообщение от Vova Посмотреть сообщение
Или оставить как есть, не беря на себя чужие ошибки.
К сожжалению в корпорации так сложилось, что приходиться именно исправлять чужие ошибки. Присылают документауцию (прости господи) с визой ген.директора "подработайте под ЕСКД для размещения заказа на заводе".
Чтобы не быть голословным прилагаю примерчик.
Вложения
Тип файла: dwg
DWG 2007
Тележка для армирования.dwg (1.95 Мб, 734 просмотров)
Jonas вне форума  
 
Непрочитано 25.05.2010, 08:48
#8
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,536
<phrase 1= Отправить сообщение для wetr с помощью Skype™


например, так что-то можно сделать
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 25.05.2010, 08:51
#9
Кулик Алексей aka kpblc
Moderator

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


Я попытался разобраться с файлом. Пока ничего кроме как задавать соответствия "нормального" имени слоя и всех его вариантов написания - не вижу. Потом (либо командой, либо программно) перенести все объекты на "нормальный" слой.
Кроме того, советую разобраться с текстовыми и размерными стилями - там кавардак тот еще.
<...> Удалено. Попытался реализовать - фигня-с получается...
---
Добавлено: хотя... Посмотри, я частично проверку стандартов сделал...
Вложения
Тип файла: zip Тележка для армирования std - Standard.zip (1.05 Мб, 72 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 25.05.2010 в 09:43.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.05.2010, 09:45
#10
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от wetr Посмотреть сообщение
например, так что-то можно сделать
ОООчень интересно!

Откройте тайну, где это лежит и сколько стоит.
Jonas вне форума  
 
Непрочитано 25.05.2010, 11:57
#11
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,536
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Jonas, никакой тайны нет. Vetcad в местном даунлоаде уже года 3 болтается на 1 месте. Работа со слоями доступна в бесплатной версии. Можно писать пожелания - разработчиком они почти всегда учитываются и реализовываются в новых версиях. Почитать и оставить пожелания можно на форуме веткада
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 25.05.2010, 12:42
#12
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от wetr Посмотреть сообщение
Jonas, никакой тайны нет. Vetcad в местном даунлоаде уже года 3 болтается на 1 месте. Работа со слоями доступна в бесплатной версии. Можно писать пожелания - разработчиком они почти всегда учитываются и реализовываются в новых версиях. Почитать и оставить пожелания можно на форуме веткада
Прошу прощения, оказывается я давно смотрел эти инструменты и признаюсь не впечатлился. Первое что не понравилось - нет аннотативности (2007-2009). Да и не для машиностроителя. А вот про утилиту для работы со слоями просто забыл.

Последний раз редактировалось Jonas, 25.05.2010 в 12:50.
Jonas вне форума  
 
Непрочитано 25.05.2010, 13:27
#13
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


В апреле мучался c чертежами из Германии. Проблемы те же, что в теме.
Вот фрагмент Lispa, переносящий все размеры на слой RAZM.
Код:
[Выделить все]
(setq nabor (ssget "X" '((0 . "dimension"))))
(if (/= nabor nil)
  (progn
    (setq dlina (sslength nabor))
    (setq nomer 0)
    (repeat dlina
      (setq imja (entget (ssname nabor nomer)))
      (entmod (subst (cons 8 "RAZM") (assoc 8 imja) imja))
      (setq nomer (+ 1 nomer))
    ) ;_ конец repeat
  ) ;_ конец progn
) ;_ конец if
E-degtyarev вне форума  
 
Непрочитано 25.05.2010, 13:32
#14
Кулик Алексей aka kpblc
Moderator

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


И опять - не учитывается ни локализация, ни вариант расположения размеров внутри блоков
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.05.2010, 14:31
#15
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,536
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Цитата:
Сообщение от Jonas Посмотреть сообщение
А вот про утилиту для работы со слоями просто забыл.
не было ее раньше. Она появилась меньше месяца назад
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 26.05.2010, 08:33
#16
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Кулик Алексей,можно вопрос? (к посту 14)
Насчет локализации - это понятно.
А во нельзя ли подробнее относительно "вариант расположения размеров внутри блоков".
E-degtyarev вне форума  
 
Непрочитано 26.05.2010, 08:56
#17
Кулик Алексей aka kpblc
Moderator

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


Например: создать окружность, на нее проставить диаметр. Размер - на слой "1234". Окружность - на слой "0". Окружность и диаметр объединить в блок.
Запустить свой лисп и попытаться удалить слой "1234"
А еще можно сделать дополнительный размер, поместив его на заблокированный или замороженный слой. Тоже весело будет
Для получения всех примитивов определенного типа я обычно использую конструкцию наподобие:
Код:
[Выделить все]
(vl-load-com)

(defun test (obj-name / adoc res)
  ;; _$ (test "*DIM*")
  (setq obj-name (strcase obj-name))
  (vlax-for blk_def (vla-get-blocks (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
    (if (equal (vla-get-isxref blk_def) :vlax-false)
      (vlax-for subent blk_def
        (if (wcmatch (strcase (vla-get-objectname subent)) obj-name)
          (setq res (cons subent res))
          ) ;_ end of if
        ) ;_ end of vlax-for
      ) ;_ end of if
    ) ;_ end of vlax-for
  res
  ) ;_ end of defun
Достаточно быстро и просто.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 26.05.2010, 09:04
#18
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Понял, спасибо.
E-degtyarev вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Вставка "чужих" объектов в нужные слои



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего нужны фильтры слоев?Как ими пользоваться? Aysulu AutoCAD 43 17.04.2019 10:59
вставка библиотечных объектов? tabls AutoCAD 6 21.04.2010 14:35
FILTER / фильтр BM60 Справочник команд 0 08.07.2008 15:35
Вставка объектов в Архикад Alexfoto333 ArchiCAD 1 06.05.2008 02:33