BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Руководство пользователя по АвтоЛиспу
Автор ""
Размер 218625 Байт
Страница 22 из 30
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

       Следующие функции позволяют вам восстановить и модифицировать
данные определенных примитивов.  Имена примитивов применяются для того,
чтобы определить  примитивы, с которыми надо работать.


       5. 4. 1.  (entdel )

       Удаляет примитив , обозначенный , в текущем чертеже,
или восстанавливает примитив,если он был предварительно удален в этом
сеансе редактирования. Удаляемые примитивы вычищаются из чертежа, покидая
редактор чертежей , итак, функция ENTDEL может восстанавливать их только
в течение сеанса редактирования , когда они были удалены. Функция ENTDEL
работает только в главных примитивах,аттрибуты и вершины полилиний не
могут быть удалены , независимо от их родительских примитивов (вы можете
использовать функцию COMMAND , чтобы работать функцией ATTEDIT, или ко-
манду PEDIT, чтобы выполнить это).


       5. 4. 2.  (entget )

       Примитив , который называется  восстанавливается из базы
данных и возвращается как список, содержащий эти определяемые данные. Ре-
зультирующий список кодируется , как структурированный список LISP,
элементы которого могут быть легко восстановлены функцией ASSOC. Объекты
в результирующем списке кодируются в кодах DXF системы AutoCAD для каж-
дой части входных данных. Для примера рассмотрим вычерчивание и затем
восстановление LINE следующей последовательностью команд:





                           - 70 -

            Руководство пользователя по АВТОЛИСПу


       Command: LINE
                -----
       From point: 1 , 2
                  ------
       To point: 6 , 6
                 ------
       To point: RETURN
                --------
       Command: (setq a (entget (entlast)))
                ---------------------------
установит А, равное списку ( делает останов для прочтения ):
       ( ( -1 .  )
         (0 .    "LINE")
         (8 .    "0")
         (10  1.000000 2.000000)
         (11  6.000000 6.000000)
        )


       Пункт -1 в начале списка содержит имя примитива , которым этот
список представлен. Функция ENTMOD, описанная ниже , использует это ,
чтобы идентифицировать примитив  , который модифицирован.
       Отдельные точечные пары , представляют переменные , которые могут
быть легко восстановлены с помощью функции ASSOC, функция CDR обычно вы-
водит их значения. Коды для компонентов примитива те же самые, что испо-
льзует DXF , и приводятся в приложении С Руководства AutoCAD. Так же ,
как в DXF , заголовок элемента  примитива ( цвет и тип линии, сложный
примитив флага (функция ATFLAG), экструзия толщины и выключение на-
бора Z) выводится  , если переменная не по умолчанию. В функциях, не
таких как DXF, не обязательно выводить точность поля примитива, равную
ли их значениям по умолчанию или нет. Намерение сделать это является
упрощенным вариантом программ, которые всегда могут принимать эти поля
присутствующими для основных алгоритмов , по котором они работают.
       Запомните, что подсписки для точек- это не точечные пары, подобные
остальным. Соглашением является то, что функция CDR подсписка -это
групповая переменная. Так как точка- это список двух действительных чисел,
это составляет всю совокупность трех элементов списка. Функция CDR группы
является списком , изображающим точку, соглашением является также,то
что функция  CDR всегда возвращает переменную сохраненной.
       Когда описываемые функции обрабатывают эти списки, обязательно
сделайте им аккуратные подсписки. Польза для функции ASSOC от этого га-
рантирована. Группа -1 ,содержащая имя примитивов, позволяет произвести
некоторые действия, чтобы просто принять список примитива , и избежать
необходимости сохранять имя примитива в параллельной структуре. Примитив
SEQEND в конце Poliline или набор аттрибутов содержит -2группу , чьи CDR
являются заголовком в этом примитиве. Это позволит найти заголовок
в подпримитивах,двигаясь вперед к SEQEND , затем используя функцию CDR
-2 группы , как имя примитива, восстановить структурированный главный
примитив. Следующий пример хорошо иллюстрирует комплексные примитивы,
представленные как список.

       Command: ELEV
                -----
       New current elevation <0.0000>: 3.5
                                       ----
       New current thickness <0.0000>: 0









- 71 - Руководство пользователя по АВТОЛИСПу --- Command: LINETYPE ---------- ?/Create /Load/Set: SET ---- New entity linetype : DASHED ------- Command:COLOR ------ New entity color : BLUE ----- Command: LAYER ------- ?/Make/Set/New/On/Off/Color/Ltype/Freeze/Thaw: MAKE ----- New current layer <0>: ANNOTATION ------------- ?/Make/Set/New/On/Off/Color/Ltype/Freeze/Thaw: RETURN -------- Command: TEXT ------ Start point or Align/Center/Fit/Middle/Right/Style: 2 ,2 ------- Height <0.2000>: .3 ---- Rotation angle <0>: 30 ----- Text: So long , and thanks for all the fish! --------------------------------------- Command: (setq e (entget (entlast))) ----------------------------- В этом случае Е будет устанавливать в списке то, следует ниже. Рассмотрение приложения С Руководства к AutoCADу придаст смысл этому ясному списку. ( (-1 . ) (0 . "TEXT") (8 . "ANNOTATION") (6 . "DASHED" (62. 5) (38 . 3.500000) (10 2.000000 2.000000) (40 . 0.300000) (1 . "So long , and thanks for all the fish!") (50 . 0.523598) (41 . 1.000000) (51 . 0.000000) (7 . "STANDARD") (71 . 0) (72 . 0) (11 0.000000 0.000000) ) - 72 - Руководство пользователя по АВТОЛИСПу 5. 4. 3. (entmod ) Список проходит функцию ENTMOD, в формате возвращающей его функции ENTGET, и обновляет информационную базу данных примитива, имя которого определено совокупностью -1 в . Однако, главный меха- низм , с помощью которого LISP обновляет базу данных , это восстановление примитивов функцией ENTGET, модификация списка , определяющего примитив ( запомните , что для этого очень полезна функция SUBST AutoLISPа) и об- новляющего примитив в базе данных с помощью функции ENTMOD. Функция ENTMOD имеет некоторые ограничения по изменениям , которые она делает. Во - первых , нельзя изменять типы примитивов . (Если вы хо- тите сделать это , примените только функцию ENTDEL и сделайте новый при- митив командой COMMAND ). AutoCAD должен знать все объекты, которые упо- минаются в списке примитивов, до того как выполнена функция ENTMOD. Так, стиль текста , тип линии , форма и имена блоков должны быть предвари- тельно определены в чертеже, до того, как функция ENTMOD может их испо- льзовать в списке примитивов. Исключением в этом случае является имя уровня , __ENTMOD освободит новый уровень по умолчанию, используя команду "LAYER NEW" , если в этом списке указывается предварительно не определенный уровень. Функция ENTMOD выполняет некоторую последовательность действий, как команда DXFIN, проверяя список,содержит ли он , даннные из файла DXF. Если обнаружена серьезная ошибка , такая серьезная ,что база дан- ных не обновляется, возвращается "nil". В противном случае, функция ENTMOD возвращает список в качестве аргумента. Функция ENTMOD не изме- нит внутренние поля , такие как имя примитива в совокупности -2 функ- ции SEQEND, попытки изменить такие поля просто игнорируются. Когда обновляется главный примитив , функция ENTMOD будет моди- фицировать примитив и обновит изображение на экране ( включая под- примитивы ) . Когда функция ENTMOD обычно обновляет подпримитив ( вершины полилиний , аттрибуты блоков ), подпримитив будет обновлен в базе данных , но изображение на экране не обновляется. После всех модификаций, которые


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.