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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > как сделан файл? разберёмся?

как сделан файл? разберёмся?

Ответ
Поиск в этой теме
Непрочитано 30.03.2009, 16:53 #1
как сделан файл? разберёмся?
ssn
 
Инженер проектировщик (раздел ТМ - фриланс)
 
Геленджик
Регистрация: 06.12.2003
Сообщений: 1,783

Раскажите, как построен этот файл, потому как я что то не догоняю....
есть в пространстве листа рисунки. они сделаны в видовых экранах. внутрь экрана зайти можно, попадаешь в пространство модели... как я думаю, тогда, при открытии вкладки модель - должно бы там все быть, однако нифига, в модели все чисто...
рисунки сделаны блоками, но думаю это не важно...

просто интересно, как руками создать такое. Этот файл получился при экспорте из инвентора в автокад.

Вложения
Тип файла: dwg
DWG 2004
Деталь.dwg (340.0 Кб, 903 просмотров)

Просмотров: 4675
 
Непрочитано 30.03.2009, 17:26
#2
lee


 
Регистрация: 28.02.2004
43
Сообщений: 1,814
<phrase 1=


при команде "выделить все" в модели определяются 5 блоков. Причем они не выделяются, редактировать себя не дают. Прикольно
lee вне форума  
 
Автор темы   Непрочитано 31.03.2009, 17:59
#3
ssn

Инженер проектировщик (раздел ТМ - фриланс)
 
Регистрация: 06.12.2003
Геленджик
Сообщений: 1,783
Отправить сообщение для ssn с помощью Skype™


что, ни у кого никаких идей нет? странненько....
такой хитрый способ мозг завинтить файлом для "хороших" партнёров
ssn вне форума  
 
Непрочитано 31.03.2009, 18:44
#4
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


ssn, У видовых экранов отключена видимость (Visibility). Этим лиспом можно включить.
Код:
[Выделить все]
(defun C:AV ()
  (vlax-for Blk	(vla-get-Blocks (vla-get-activedocument (vlax-get-acad-object)))
    (if	(= (vla-get-IsXref Blk) :vlax-false)
      (vlax-for	Obj Blk
	(if (and (vlax-write-enabled-p Obj)
		 (vlax-property-available-p Obj 'Visible)
	    ) ;_ end of and
	  (vla-put-Visible Obj :vlax-true)
	) ;_ end of if
     ) ;_ end of vlax-for
    ) ;_ end of if
  ) ;_ end of vlax-for
)
А вот блоки странные.
Цитата:
(vlax-dump-Object(vlax-ename->vla-object(car(entsel))))
; IAcadBlockReference: Интерфейс AutoCAD для работы с вхождениями блоков.
; Значения свойств:
; Application (RO) = #<VLA-OBJECT IAcadApplication 00d74d3c>
; Document (RO) = #<VLA-OBJECT IAcadDocument 01475c58>
; EffectiveName (RO) = "*I1"
; Handle (RO) = "E2"
; HasAttributes (RO) = 0
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 0ab5b624>
; InsertionPoint = (-10928.5 -10928.5 0.0)
; InsUnits (RO) = "Миллиметры"
; InsUnitsFactor (RO) = 1.0
; IsDynamicBlock (RO) = 0
; Layer = "IDW_BlockReferenceLayer"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Name = "*I1"
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 2127573712
; ObjectName (RO) = "AcIdBlockReference"
; OwnerID (RO) = 2128256936
; PlotStyleName = "Цвет_7"
; Rotation = 0.0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 079096a8>
; Visible = -1
; XEffectiveScaleFactor = 1.0
; XScaleFactor = 1.0
; YEffectiveScaleFactor = 1.0
; YScaleFactor = 1.0
; ZEffectiveScaleFactor = 1.0
; ZScaleFactor = 1.0
*** Добавлено

Я так думаю, что *I - это Inventor. Потому что 2006 Автокад ругается на Proxi Inventora и ничего не показывает.
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 31.03.2009 в 20:13.
VVA вне форума  
 
Непрочитано 01.04.2009, 19:52
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Вот вторая часть, которая выдирает примитивы в модель
Код:
[Выделить все]
(defun C:IX (/ adoc blks bnameNew i ss lst bnamepat)
  (vl-load-com)
  (setq	adoc (vla-get-activedocument (vlax-get-acad-object))
	blks (vla-get-blocks adoc)
  ) ;_ end of setq
  (if (setq ss (ssget "_X" '((0 . "ACIDBLOCKREFERENCE"))))
    (progn
      (repeat (setq i (sslength ss)) ;_ end setq
	(setq lst (cons (ssname ss (setq i (1- i))) lst))
      ) ;_ end repeat
      (setq bnamepat "IX"
	    i 0
      )
      (foreach item lst
	(setq acid-ref (vla-item blks (cdr (assoc 2 (entget item)))))
	(setq objlist (_dwgru-conv-vla-object-to-list acid-ref))
        (vla-copyobjects
                     adoc
                     (vlax-make-variant
                       (vlax-safearray-fill
                         (vlax-make-safearray
                           vlax-vbobject
                           (cons 0 (1- (length objlist)))
                         ) ;_ end of vlax-make-safearray
                         objlist
                       ) ;_ end of vlax-safearray-fill
                     ) ;_ end of vlax-make-variant
              (vla-get-ModelSpace adoc)
              )
	)
      )
    )
  (command "_.ZOOM" "_ALL")
  (princ)
  )

;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2007  DWGru Programmers Group
;;; *
;;; *  _dwgru-conv-vla-object-to-list
;;; *
;;; * 03/12/2007 Версия 0001. 
;;; ************************************************************************

(defun _dwgru-conv-vla-object-to-list (value / res)
 ;;; Назначение:
   ;;;Преобразовывает ... не могу сформулировать :(
    ;;; Низкоуровневая функция. Контроль соответствия типов производится
    ;;; Параметры: 
    ;;; value - объект со свойством count
    ;;; Возврат:
    ;;;      - список vla-объектов 
    ;;;      - nil если не объект или нет сво-вы count
  ;;;; Пример
  ;|
(_dwgru-conv-vla-object-to-list (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
 |;

(if (and
     (= (type value) 'vla-object)
     (vlax-property-available-p value 'count)
     (> (vla-get-count value) 0)
     )
     (reverse (vlax-for item value (setq res (cons item res))))
)
)
Прохоже, что блоки с именем *In (ename представление "ACIDBLOCKREFERENCE") - специальные блоки-контейнеры, которые видны только через видовой экран.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 02.04.2009, 09:19
#6
ssn

Инженер проектировщик (раздел ТМ - фриланс)
 
Регистрация: 06.12.2003
Геленджик
Сообщений: 1,783
Отправить сообщение для ssn с помощью Skype™


а есть возможность такое создать руками?
всмысле повторить этот файл..

а выдирать эти объекты... можно же просто вставлять блок из базы чертежа...
понятно что ели их много, придётся посидеть.

а вот как их туда затолкать...
ssn вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > как сделан файл? разберёмся?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выдать список переменных (setvar) в текстовый файл Кларисса AutoCAD 6 03.06.2013 13:20
Как распечатать файл "в печать" сгенерированный в SCAD-е Курмышанец Расчетные программы 15 25.05.2010 14:24
Файл plot после распечатки как его отключить dextron3 AutoCAD 7 27.11.2008 23:29
как создать файл arx из своих лиспов roman56 LISP 2 03.10.2008 06:12
Как восстановить файл? Morrow AutoCAD 15 08.11.2006 09:08