[vba] CAD도면 작성 – Line 그리기(DXF)

DXF를 사용하면 고품질의 CAD 파일을 출력할 수 있다. 즉 VBA를 통하여 자동으로 도면을 그릴 수 있다. DXF는 AutoCAD와 호환이 되도록 설계된 파일형식이다.

작성의도 : 도면 작성 자동화

아래의 코드는 여기에 있는 DXF파일을 출력하는 코드이다.

LINE명령어를 처리하는 함수는 다음과 같이 작성할 수 있다.

이와 같은 요령으로 AutoCAD의 line뿐만 아니라 circle, arc, pline 등 모든 도면 요소(drawing entities)를 그릴 수 있다.

[VBA]파일 쓰기

[문제]
-엑셀에서 계산 결과를 텍스트 파일로 저장하고 싶다.

[해법1] Write 함수를 사용 (큰따옴표로 묶인 문자열)

자료의 문자열을 큰따옴표가 있는 텍스트 파일로 쓴다.

이 프로그램의 실행결과는 다음과 같다.

문자열을 큰따옴표로 묶인다는 점을 잊지 말자.

[해법2] Print 함수를 사용 (큰따옴표가 없는 문자열)

이 프로그램의 실행결과는 다음과 같다.

아마도 Print함수를 쓸 경우가 많을 것이다.

[참고]
Excerpted from http://analystcave.com/vba-write-file-vba/

[ubuntu]IP setup

[문제]
서버로 사용하던 컴퓨터를 교체하였다. 그 컴퓨터를 다른 네트워크에 물려서 검사하려 했다. 서버일 때는 고정 IP를 사용하였으나, 자동 IP를 사용해야 했다.

[해결]
ubuntu에서 IP 설정하기

How to know the size of a file, a directory, or a disk

https://askubuntu.com/questions/1224/how-do-i-determine-the-total-size-of-a-directory-folder-from-the-command-line

ls -l, which only displays the size of the individual files in a directory, nor
df -h, which only displays the free and used space on my disks.

The command du “summarizes disk usage of each FILE, recursively for directories,” e.g.,

du -hs /path/to/directory
-h is to get the numbers “human readable”, e.g. get 140M instead of 143260 (size in KBytes)
-s is for summary (otherwise you’ll get not only the size of the folder but also for everything in the folder separately)

migration from ubuntu to mac mini

[문제1]
우분투 서버가 계속 문제를 일으켰다. 하드웨어 문제인 것으로 추정된다.
[해결1]
다른 하드웨어로 옮기기로 했다. 현재 보유중인 맥미니로 옮기기로 했다.

[문제2]
우분투 서버의 database를 백업하기
[해결2]
-ubuntu mysql설치 위치

우분투 서버의 /home/mysql 폴더에 데이터파일들을 두고 실행 폴더 안에 링크를 걸어둔 상태였다.
혹시 내부적인 permission이 문제가 될까봐 sudo 명령으로 폴더를 아래와 같이 묶었다.

[문제3]
데이터베이스를 맥서버로 옮기기
[해결3]
1.맥서버에서 터미널을 통해서 scp로 복사를 한다. 복사할 곳에서 아래 명령어를 실행한다.

2.묶어둔 것을 푼다.

3.맥서버에는 mysql소유자가 _mysql이므로, 소유자를 변경한다.

4.macOS mysql설치 위치에 데이터베이스가 복사된 곳의 링크를 걸어둔다.

[문제4]
웹문서를 맥서버로 옮기기
[해결4]
0.우분투서버에서 홈페이지를 tar로 묶는다.

1.맥서버에서 터미널을 통해서 scp로 복사를 한다. 복사할 곳에서 아래 명령어를 실행한다.

2.묶어둔 것을 푼다.

3.맥서버에는 웹문서소유자가 _www이므로, 소유자를 변경한다.

[ubuntu]boot log files

[문제]
서버에 자꾸 다운되면서 작동을 하지 않는다. 무엇이 문제인지 부팅과정부터 확인하고 싶다.

[해결]
부팅할 때 시스템 차원의 경고나 오류가 발생했는지 확인한다. 확인할 파일은 다음과 같다.

[wp]File Upload Error

[문제 1]
워드프레스에서 파일이 업로드가 안 된다. Media Library에 파일을 올리려니 다음과 같은 메시지가 떴다.

[해법 1]
많은 웹사이트에서 파일의 허가 permission의 문제라고 한다.

[문제 2]
과거 서버에서는 문제가 없었다. 그래서 과거로 사용한 컴퓨터와 현재 사용한 서버가 어떻게 다른가 비교를 했다.
여기서 “@”와 “+”와 같은 문자가 다른 것을 발견했다.

[해법 2]
이 둘의 차이는 다음과 같았다.
https://apple.stackexchange.com/questions/42177/what-does-signify-in-unix-file-permissions

[문제 3]
실제 차이는 파일의 소유주가 달랐다. 과거 서버 디렉토리와 파일의 소유자는 _www였고, 현재 서버 디렉토리와 파일의 개인사용자였다.

[해법 3]
그래서 서버 홈 디렉터리 소유자를 _www로 바꾸었다.

[문제 4]
사진 용량이 커서 업로드가 안 된다.

[해법 4]
https://catchthemes.com/wordpress-tutorials/increase-maximum-file-upload-size-wordpress/

맥 서버(smb)를 네트워크 드라이브로 연결하기

[문제]
맥서버(server.app이용)의 폴더를 smb로 공유하여, PC 윈도우에서 네트워크 드라이브로 연결하기

[상황]
– 맥 서버 : macOS Sierra 10.12.5, Server app 5.3.1
– PC : Windows 10 Education x64

[해법]
1. 맥서버와 동일한 네트워크로 연결한다.
– 맥서버에 있는 “설정->공유->인터넷 공유”를 통하여 “Ethernet”을 공유하여 “Ethernet2″를 PC를 연결함
2. 윈도우 10에서 로그인 옵션에서 “암호”로 하면 드라이브 연결이 됨.
– 윈도우 10에서 로그인 옵션에서 “PIN”으로 하면 드라이브 연결이 안 됨.
– 윈도우 10을 새로 설치함. (ㅠ.ㅠ)

[교훈]
생각보다 파일공유가 까다롭다!

[후기]
7월 3일 작성이었음
7월 14일 학내 전산원 이메일에 의하면, 그 동안 SMB를 막았다고 한다. 그래서 안 됐나? 아흑
같은 학내 네트워크에서도 SMB가 안 되었다.