История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Внешняя ссылка связывает текущий чертеж с другим чертежом. При вставке другого чертежа как блока информация о его геометрии сохраняется в базе чертежа. Она не обновляется, если исходный чертеж изменился. Однако если вставлять другой чертеж как внешнюю ссылку, все изменения сразу отображаются. Подобно блочной ссылке внешняя ссылка отображается в рисунке единым объектом, однако внешняя ссылка не может быть "взорвана". Как и с блоками, можно создавать вложения внешних ссылок.
При открытии или печати рисунка Autocad перезагружает каждую внешнюю ссылку, чтобы отобразить ее в "свежайшем" виде. В отличие от блока при вставке внешней ссылки в чертеж вставляется только определение, а не сам файл. Если файл внешней ссылки отсутствует или поврежден, то Autocad его просто не отображает. Если значение системной переменной VISRETAIN=On Autocad сохраняет любую информацию о зависимых от внешней ссылки слоях в базе данных чертежа и она используется при следующем открытии. Можно вставлять неограниченное число внешних ссылок. Можно также управлять слоями и типами линий внешней ссылки. Для добавления внешней ссылки используйте метод AttachExternalReference. Он требует путь и имя вставляемого файла, имя ссылки, точку вставки, масштаб и угол вращения и возвращает объект ExternalReference. Пример:
Sub AttachingExternalReference() On Error GoTo ERRORHANDLER Dim InsPoint(0 To 2) As Double Dim insertedBlock As AcadExternalReference Dim tempBlock As AcadBlock Dim msg As String, PathName As String ' определимвнешнююссылку InsPoint(0) = 1: InsPoint(1) = 1: InsPoint(2) = 0 PathName = "c:/acad2002/sample/db_samp.dwg" ' Отобразим информацию о блоках GoSub ListBlocks ' Добавимвнешнююссылку Set insertedBlock = ThisDrawing.ModelSpace. _ AttachExternalReference(PathName, "XREF_IMAGE", InsPoint, 1, 1, 1, 0, False)ZoomExtents ' Отобразим информацию о блокахGoSub ListBlocks Exit SubListBlocks: msg = vbCrLf For Each tempBlock In ThisDrawing.Blocks msg = msg & tempBlock.Name & vbCrLf Next MsgBox "Блокивчертеже: " & msg Return ERRORHANDLER: MsgBox Err.DescriptionEnd SubНаложение внешних ссылок подобно присоединению, отличие только в том, как обрабатываются вложенные ссылки. В случае наложения - вложенные ссылки просто не отображаются. Наложение удобно использовать толгда когда конечному потребителю не нужны дополнительные детали созданного вами чертежа, который используется в качестве внешней ссылки. То есть этот тип ссылок предназначен для совместного использования данных. Кроме того, он позволяет избежать цикличесских ссылок. Чтобы ссылка была наложением, измените параметр метода AttachExternalReference на bOverlay=TRUE. Для исключения ссылки из рисунка нужно его оттсоединить, можно также стереть конкретное вхождение ссылки. Ссылка самоуничтожается при следующем открытии чертежа, если уже нет ни одного ее вхождения. Для отсоединения ссылки используй метод Detach. Нельзя, однако, отсоединить вложенную ссылку. Пример отсоединения ссылки:
Sub DetachingExternalReference() On Error GoTo ERRORHANDLER ' Определим внешнюю ссылку Dim xrefHome As AcadBlock Dim xrefInserted As AcadExternalReference Dim insertionPnt(0 To 2) As Double Dim PathName As String insPnt(0) = 1: insPnt(1) = 1: insPnt(2) = 0 PathName = "c:/acad2002/sample/db_samp.dwg" ' Добавимвнешнююссылку Set xrefInserted = ThisDrawing.ModelSpace. _ AttachExternalReference(PathName, "XREF_IMAGE", insPnt, 1, 1, 1, 0, False)ZoomExtents MsgBox "Внешняя ссылка присоединена." ' Остосединимвнешнююссылку Dim name As String name = xrefInserted.name ThisDrawing.Blocks.Item(name).Detach MsgBox "Внешняяссылкаотсоединена." Exit SubERRORHANDLER: MsgBox Err.DescriptionEnd SubВыгрузка внешних ссылок
Для ускорения работы часть (или все) внешних ссылок можно выгрузить методом Unload. Пример:
Sub UnloadingExternalReference() On Error GoTo ERRORHANDLER ' Определимвнешнююссылку Dim xrefHome As AcadBlock Dim xrefInserted As AcadExternalReference Dim insPnt(0 To 2) As Double Dim PathName As String insPnt(0) = 1: insPnt(1) = 1: insPnt(2) = 0 PathName = "c:/AutoCAD/sample/db_samp.dwg" ' Добавимвнешнююссылку Set xrefInserted = ThisDrawing.ModelSpace. _ AttachExternalReference(PathName, "XREF_IMAGE", insPnt, 1, 1, 1, 0, False) ZoomExtents MsgBox "Добавленавнешняяссылка." ' Выгрузимопределениевнешнейссылки ThisDrawing.Blocks.Item(xrefInserted.name).UnloadMsgBox "Внешняя ссылка выгружена." Exit SubERRORHANDLER: MsgBox Err.DescriptionEnd SubПривязка внешней ссылки
Привязка внешней ссылки делает ее постояннной частью рисунка, а не внешней ссылкой. То есть она становится блоком, отсюда следует что при изменении чертежа внешней ссылки в основном чертеже никаких изменений не получим. После привязки любые именованные объекты (блоки, размерные стили, слои, типы линий и стили текста) могут использоваться в основном рисунке. Метод Bind требует только один параметр bPrefixName, если он равен TRUE, то символьные имена получают префикс по имени блока + цифровой идентификатор. В противном случае символьные имена сливаются с уже существующими и при наличии совпадаений оставляются уже определенные в основном рисунке. Если Вы не уверены, будут ли в связываемой внешней ссылке дублироваться имена, используйте TRUE. Примерсвязывания:
Sub BindingExternalReference() On Error GoTo ERRORHANDLER ' Определимвнешнююссылку Dim xrefHome As AcadBlock Dim xrefInserted As AcadExternalReference Dim insPnt(0 To 2) As Double Dim PathName As String insPnt(0) = 1: insPnt(1) = 1: insPnt(2) = 0 PathName = "c:/AutoCAD/sample/db_samp.dwg" ' Добавимвнешнююссылку Set xrefInserted = ThisDrawing.ModelSpace. _ AttachExternalReference(PathName, "XREF_IMAGE", insPnt, 1, 1, 1, 0, False)ZoomExtents MsgBox "Внешняя ссылка присоединена." ' Привяжем определение внешней ссылки ThisDrawing.Blocks.Item(xrefInserted.name).Bind False MsgBox "Внешняя ссылка связана." Exit SubERRORHANDLER: MsgBox Err.DescriptionEnd SubНе существует метода для обрезки блока или внешней ссылки в ActiveX, поэтому, если очень нужно, используйте метод SendCommand, вызывая команду XCLIP.
Загрузка по требованию и повышение производительности внешних ссылок
Комбинируя загрузку по требованию и сохранение чертежа с индексами можно увеличить скорость работы рисунков с внешними сслыками. Загрузка по требованию работает совместно с системными переменными XLOADCTL и INDEXCTL. Когда включена загрузка по требованию (при условии что были сохранены индексы в подчиненных рисунках), Autocad загружает в память только данные, которые нужны для регенирации текущего чертежа. Наиболее заметен выигрыш в производительности при использовании загрузки по требованию, когда внешняя ссылка подрезана и пространственный индекс сохранен во внешнем рисунке, а также в случае заморозки некоторых слоев внешней ссылки, а чертеж-внешняя ссылка сохранен с индексом слоя. Чтобы включить загрузку по требованию, есть свойство XRefDemandLoad. Если оно включено с параметром acDemandLoadEnabledWithCopy, Autocad создает временную копию файла внешней ссылки и загружает по требованию временный файл. При этом исходный файл внешней ссылки можно в этот момент редактировать. А когда загрузка по требованию отменена, Autocad загружает весь файл внешней ссылки, не обращая внимание на видимость слоев или обрезку. Для включения слоев и пространственных индексов установи значение переменной INDEXCTL таким образом - (0 - не создавать индексы, 1 - создать индекс слоев, 2 - создать пространственный индекс, 3 - создать оба индекса).
Пространственный индекс - список примитивов и данных их положения в трехмерном пространстве (используется при частичном открытии файла).
Индекс слоев - список слоев с перечнем объектов на них. По умолчанию файлы создаются без индексов.
|
|
|
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!