2017년 11월 29일 수요일

QCAD

사용기

QCAD에 대한 내용을 정리합니다.

회사 업무 때문에 Autocad를 써야 할 일이 생겼지만 자주 쓰는 일이 아니라서 구매하기는 그렇고, 대체할만한 무료 2D 프로그램을 찾다가 최종적으로 QCAD와 LibreCAD 중 선택하게 됐습니다.

LibreCAD 는 QCAD에서 파생된 프로그램인데 전에 설치해서 잠깐 써봤는데, 명령은 AutoCAD와 상당히 호환되는데 아직 불안정한 부분이 많아서 불편했습니다.

QCAD는 전에 사용해 본 바로는 AutoCAD와 명령이 다르지만 불안정하지는 않았습니다.

그래서 QCAD 를 사용하기로 결정했습니다.

설치

QCAD 홈페이지에서 다운 받아서 설치 합니다.

http://www.qcad.org

2017년 8월 8일 화요일

3D 프린터 사용기 [1] – 3D 프린터 구입, 조립

최근에 3D 프린터에 관심이 생겨서 이리저리 인터넷으로 3D 프린터에 대해 사전 조사를 한 뒤 큰맘 먹고 가장 저렴한 조립형 3D 프린터를 구입했습니다.
"Prusa i3 J버전" 을 구입했습니다.
http://neo3d.co.kr 에서 판매하는 제품이지요. 저는 좀 생소한 업체라서 약간 미심적어 디바이스마트를 통해 구입을 했습니다.

그런데 그게 저의 판단 착오였던것 같습니다. 디바이스마트에서 저의 주문 내역을 보고, neo3d 직원이 저의 주소를 잘 못 기재하여 배송에 일주일이 걸렸습니다.

지구상에서 가장 배송 서비스가 잘 되어 있는 우리나라에서 있어서는 안되는 상황이라 생각만 하고, 디바이스마트 고객센터에 전화도 하고, 뭐 이런 저런 우여곡절 끝에 어쨌든 안전하게 제품을 받았습니다.
image
생각보다 작은 사이즈가 우선 맘에 들었습니다. 내용물은 굳이 사진으로 남길 필요는 없겠다 싶었습니다. 판매 회사에서 꼼꼼하게 잘 포장해서 왔습니다.

조립형이니까 이제부터 길고 긴 조립 작업이 시작되었습니다.
실제 조립 작업보다 장난꾸러니 아들녀석 쫓아 내며, 아크릴 보호 필름 벗기는 시간이 절반 정도 걸린것 같습니다.

토요일 오후 2시 부터 자정까지 10시간 동안 작업하여 겨우 조립했습니다.
20170723_010813
집이 작아서 개인 작업실이 따로 없고, 아들에게 장난감 만드는 기계 사서 기차 만들어 줄테니 아빠에게 방을 달라고 설득해서 방 한쪽 테이블에 이렇게 제품을 설치 했습니다.

3D 프린터와의 첫 만남은 여기서 마쳐야겠네요.
차근차근 3D프린터 사용기를 정리해서 올리겠습니다.

2017년 3월 7일 화요일

C# 시계 만들기

 

C# 프로그래밍을 익히기 위해 디지털 시계를 만들어 보겠습니다.

1초 단위로 시간 표시가 바뀌는 간단한 프로그램이죠.

 

1. WPF 프로젝트를 생성하여 다음과 같이 비어있는 창을 하나 만듭니다.

image

2. Grid 와 Label 을 추가 합니다. Label 에는 다음과 같이 설정 합니다.

<Grid>
    <Label
        Content="Clock"
        FontSize="24"
        Grid.Column="0"
        Grid.Row="0"
        HorizontalContentAlignment="Center"
        VerticalContentAlignment="Center"
        x:Name="clock" />
</Grid>

그러면 다음과 같은 모양으로 창이 생성 됩니다.

image

이제 창 디자인은 완성 됐습니다. 본격적으로 C# 코딩을 해야겠네요.

우선 창의 “clock” 이라고 이름 붙인 Label 의 내용을 변경하는 코드를 넣어 보겠습니다.

그런데 WPF 에서 C#의 시작점 (Entry point)은 어디인지 모르겠네요.

이제 찾아보겠습니다.

image

요기 있네요. InitializeComponent(); 전/후 에서 초기화 과정을 추가 하면 된다고 어디선가 봤습니다.

그럼 Label 의 글자를 어디서 바꿔야 하는지 또 찾아 보겠습니다.

image

위와 같이 코드를 추가 했더니 다음과 같이 창이 생성 됐습니다.

image

이렇게 WPF 의 Entry point 를 알았네요.

 

다음 단계로 쓰레드를 생성하고, 1초 단위로 타이머 이벤트를 받아서 라벨 값만 바꿔주면 간단한 시계가 될거라 예상이 됩니다.

 

http://zheld.tistory.com/2

WPF의 타이머에 대해서는 위의 링크에서 잘 설명해 주셨네요.

제가 만들고 있는 시계 프로그램에 적용해 보겠습니다.

image

이제 완성 됐습니다. 컴파일 후 실행하면 1초 단위로 시간이 변경되는 것을 볼 수 있습니다.

 

TimeSpan.FromMilliseconds(0.01) 은 인터벌이 0.01 ms 단위로 발생하게 합니다. 예제에서 인터벌이 너무 짧게 잡혀서 Millisecond 가 아닌가 의심했었는데, 함수 이름대로 Millisecond 단위가 맞습니다.

2017년 1월 12일 목요일

창 크기를 고정하고 싶다

이전 글에서 SharpDevelop 로 첫번째 윈도우를 만들었는데, 크기가 마음대로 움직입니다. 크기를 고정하고 싶은데 이제야 알게 됐습니다.

image

디자인 탭을 선택하고, Window1.xaml 안에 있는 윈도우 객체(?)를 선택하면 오른쪽에 "속성" 이 나타납니다.

아래로 쭉 내리면 “ResizeMode” 라는 속성이 있는데 여기서  “NoResize”를 선택하면 크기가 고정되네요.

image

XAML 코드에는 아래와 같이 자동으로 추가 됩니다.


<?xml version="1.0" encoding="utf-8"?>
<Window
    x:Class="test_01.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="test_01"
Height="300"
Width="300"
ResizeMode="NoResize"
>
<Grid></Grid>
</Window>


프로그램을 실행하면 창 크기를 조절할 수 없게 됩니다.

SharpDevelop & WPF 시작하기


SharpDevelop 로 C# 의 WPF 프로그램을 처음으로 만들어 보겠습니다.
SharpDevelop 는 이미 설치가 되어 있어야 합니다. 다운로드 및 설치 과정을 여기서 설명하기에는 너무 귀찮네요.
제가 여기 블로그에 C# 관련 글을 쓰는 이유는 제 스스로 공부하고, 기억하기 위한 글입니다.

SharpDevelop 실행

image   이렇게 생긴 아이콘을 클릭하여 시작하는거죠.

파일 - 새로 만들기 – 솔루션

image

솔루션 폴더 생성

image
그러면 다음과 같은 화면이 나타납니다.

image

디자인 탭을 누르면 이런 화면도 볼 수 있습니다.
image

컴파일

빌드 아이콘을 눌러서 컴파일 합니다.
image
프로그램을 실행해 봅시다.
image
요렇게 아무것도 없는 윈도우가 딱 나타나네요.

image
이렇게 첫번째 C# 프로그램(?)이 완성 되었습니다.
앞으로 하나 하나 추가해 볼 생각입니다.

이렇게 자세히 적어가면서 해야 제가 기억에 남을것 같습니다.
시간이 되게 많이 걸리긴 하는데, 글을 작성하는 것도 익숙해지면 더 빨리 진행할 수 있겠습니다.

SharpDevelop


C# 개발 환경이 Visual Studio 가 좋겠지만, 성격이 좀 특이해서 라이선스에 자유로운 개발 환경이 없을까 찾아보니 SharpDevelop 라는 프로그램이 있네요.
한글 메뉴도 나오고 MIT License 라고 하니 우선 당장은 써볼만 하겠습니다.
요즘은 Winform 보다는 WPF 가 대세라고 하니, WPF 를 중심으로 공부를 해 나갈 계획입니다.
이제 막 시작하는 단계라 잡히는대로 실행해 보려 합니다.
Open Live Writer 가 있으니 블로그에 글을 올리는 부담이 싹 사라져서 좋군요.

Open Live Writer

 

구글 블로그는 모양도 별로고, 쓰는데 불편했는데 어제 Windows Live Writer 라는 프로그램이 있다는것을 발견 했습니다.

Windows Live Writer 소스가 공개되어 개발된 프로그램이 Open Live Writer 인것 같은데, 저는 Open Live Writer 를 설치했습니다.

Open Live Writer 로 처음으로 이 글을 써봅니다.

실제 블로그에서 편집하는것 보다는 훨씬 편하네요.

http://openlivewriter.org/ 에서 다운로드 받을 수 있습니다.

윈도우에서는 Windows Live Writer 를 쓰는게 Open Live Writer 보다 나은 선택일 것 같습니다.

[C#] Community Toolkit

 https://kaki104.tistory.com/806