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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Запись окружностей в файл по возрастанию

Запись окружностей в файл по возрастанию

Ответ
Поиск в этой теме
Непрочитано 05.11.2013, 12:05 #1
Запись окружностей в файл по возрастанию
ua3rad
 
Регистрация: 15.11.2012
Сообщений: 16

Всем добрый день!!! Мне нужна помощь!!! Липс не знаю. Есть программа на липсе, которая записывает центры окружностей и диаметры в файл, но мне надо чтоб окружности в файле записывались по возрастанию.

Вложения
Тип файла: lsp Drill_lips.LSP (1.6 Кб, 30 просмотров)

Просмотров: 3160
 
Непрочитано 05.11.2013, 12:35
#2
Кулик Алексей aka kpblc
Moderator

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


По возрастанию чего? диаметров?
P.S. Код не проверял.
Вложения
Тип файла: lsp Drill.lsp (1.9 Кб, 31 просмотров)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.11.2013, 12:52
#3
ua3rad


 
Регистрация: 15.11.2012
Сообщений: 16


Да, по диаметрам. код работает. Сейчас строка выглядет так:
Х12Y12D3
Х10Y10D2
X20Y20D4
надо
D2
Х10Y10
D3
Х12Y12
D4
X20Y20
Если сложно, то хотя бы вот так
Х10Y10D2
Х12Y12D3
X20Y20D4

----- добавлено через ~25 мин. -----
может я не правильно использую
ua3rad вне форума  
 
Непрочитано 05.11.2013, 13:59
#4
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Не липс! Лепс же!
__________________
Алексей
bargool вне форума  
 
Автор темы   Непрочитано 05.11.2013, 14:02
#5
ua3rad


 
Регистрация: 15.11.2012
Сообщений: 16


я думаю разработчики не обидятся

----- добавлено через ~2 мин. -----
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
По возрастанию чего? диаметров?
P.S. Код не проверял.
Как пользоваться Вашей программой
ua3rad вне форума  
 
Непрочитано 05.11.2013, 14:11
#6
bargool


 
Регистрация: 16.08.2006
Санкт-Петербург
Сообщений: 508
<phrase 1=


Вам куда надо выводить это?
Посмотрите data extraction (извлечение данных), там прекрасно выдираются центры и диаметры кругов в эксель, а там сортируйте как хотите. И без всякого программирования.
И это была ирония. Язык называется Lisp. Произносим как Лисп.
Как использовать лисп, опубликованный на форуме
__________________
Алексей
bargool вне форума  
 
Автор темы   Непрочитано 05.11.2013, 14:24
#7
ua3rad


 
Регистрация: 15.11.2012
Сообщений: 16


Для старых людей слишком много кликов, да еще эксель надо знать (они не смогут). Эта программа делает файл сверления для печатных плат.

----- добавлено через ~20 ч. -----
Кулик Алексей aka kpblc!!! Допишите пожалуйста в Ваш липс буквы X,Y,D, чтобы координата X начиналась с буквы X и т.д. Я не знаю куда это писать
ua3rad вне форума  
 
Непрочитано 07.11.2013, 11:30
#8
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


+мои 5 коп.
Можно один раз создать извлечение данных, а потом его подгружать везде, где оно нужно.
Не обязательно каждый раз изобретать новое.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Автор темы   Непрочитано 11.11.2013, 10:26
#9
ua3rad


 
Регистрация: 15.11.2012
Сообщений: 16


Платы разные и соответственно кол-во контактных площадок и их диаметр тоже разное
ua3rad вне форума  
 
Непрочитано 12.11.2013, 14:35
#10
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Код:
[Выделить все]
 
(defun c:drill2
       (/ fun_conv-selset-to-ename selset file handle)

  (defun fun_conv-selset-to-ename (selset / tab item)
    (repeat (setq tab  nil
                  item (sslength selset)
            ) ;_ end setq
      (setq tab
             (cons (ssname selset (setq item (1- item))) tab)
      ) ;_ end of setq
    ) ;_ end of repeat
    tab
  ) ;_ end of defun

  (if (and (setq selset (ssget "_X" '((0 . "CIRCLE"))))
           (setq file (strcat (vl-string-right-trim
                                "\\"
                                (getvar "dwgprefix")
                              ) ;_ end of vl-string-right-trim
                              "\\Circles.txt"
                      ) ;_ end of strcat
           ) ;_ end of setq
           (setq handle (open file "w"))
      ) ;_ end of and
    (progn
      (foreach item
               (mapcar
                 (function
                   (lambda (x)
                     (strcat
                       (vl-princ-to-string
                         (* 2. (cdr (assoc 40 (entget x))))
                       ) ;_ end of vl-princ-to-string
                       "\n"
                       (vl-princ-to-string
                         (cdr (assoc 10 (entget x)))
                       ) ;_ end of vl-princ-to-string
                     ) ;_ end of strcat
                   ) ;_ end of lambda
                 ) ;_ end of function
                 (vl-sort
                   (fun_conv-selset-to-ename selset)
                   (function
                     (lambda (a b)
                       (< (cdr (assoc 40 (entget a)))
                          (cdr (assoc 40 (entget b)))
                       ) ;_ end of <
                     ) ;_ end of lambda
                   ) ;_ end of function
                 ) ;_ end of vl-sort
               ) ;_ end of mapcar
        (write-line item handle)
      ) ;_ end of foreach
    ) ;_ end of progn
  ) ;_ end of if
  (if handle
    (close handle)
  ) ;_ end of if
  (if file
    (princ (strcat "\n" file " saved!"))
  ) ;_ end of if
)

__________________
Никогда не спорьте с дураками - они опустят Вас до своего уровня и победят за счет опыта
CB вне форума  
 
Автор темы   Непрочитано 14.11.2013, 08:07
#11
ua3rad


 
Регистрация: 15.11.2012
Сообщений: 16


СВ, огромное спасибо!!! Дальше я в паскале все приведу к нужному виду. Еще раз спасибо!!!
ua3rad вне форума  
 
Непрочитано 14.11.2013, 08:44
#12
Petrov-Vodkin


 
Регистрация: 30.10.2010
Сообщений: 123


Все-таки не выдержал, спрошу:
А что это у вас за программа такая для разводки плат, в которой ничего посчитать нельзя?
Почему приходится уже в автокаде такой огород городить?
Petrov-Vodkin вне форума  
 
Автор темы   Непрочитано 14.11.2013, 20:26
#13
ua3rad


 
Регистрация: 15.11.2012
Сообщений: 16


Рассказываю. Жарким летом 2010 года дали усадку фотошаблоны. Чертежей в электронном виде нет. Нужен фотошаблон один в один с нужными размерами. Для этого была разработана мной технология регенерации. За основу берем DRIL файл и при помощи разработанной программы вставляем в AutoCad отверстия. Это опора от которой отталкиваемся дальше. Усевший фотошаблон сканируем и накладываем на отверстия. Остается только начертить линии и перевести в GBR файл. Но возникла еще одна проблема. Для некоторых плат DRIL считывали каким-то программатором (Я не знаю каким) и отверстия получаются не в сетке. Для этого придумал другую программу, которая вставляет отверстия в сетку. Но теперь старый DRIL файл не подходит и нужен другой. Вот собственно и все.
ua3rad вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Запись окружностей в файл по возрастанию



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Восстановление *.DWG Солидворкер AutoCAD 5301 24.03.2025 08:30
Помогите открыть файл :-( Tramp AutoCAD 16 12.08.2011 17:25
непонятный "битый" файл gvs AutoCAD 6 22.02.2007 23:09
После выключения слоя файл не открывается в AutoCAD 2004! sak213 AutoCAD 1 29.08.2006 08:24
Проблема непонятно с чем. АДТ 2005 VG Прочее. Программное обеспечение 3 12.08.2005 11:36