Kicad – 특정 net 에 클래스 적용하기 (배선폭, 클리어런스 등)

Kicad 작업시에 특정 net에 클래스로 지정하여, 어떤 룰을 적용하고 싶을때 배선을 일일이 클릭해서 할 수도 있지만 클래스로 구분 시켜 한꺼번에 적용하는 것이 좋다.

전원, 그라운드를 좀 두꺼운 배선폭이나 클리어런스를 적용하고 싶을 때 사용해 봤다.

먼저, 이 룰을 적용시키는 메뉴가 찾기 어려웠는데 직관적이지 않지만 ㅋ 적응해야지

파일 > 기판 설정 이라는 메뉴를 실행해야 한다.

![](assets/images/2023/01/img008.png?resize=933%2C619&ssl=1)

누르고 나면, 가운데 창이 하나 뜨면서 각각 네트에 이미 지정된 클래스와 클리어런스 세팅 값이 나오게 된다.

![](assets/images/2023/01/img009.png?resize=1024%2C533&ssl=1)

디자인 규칙 > 네트 클래스를 눌러서, 위의 창이 나타나면 원하는 네트를 이름 필터를 이용하여 찾아낸다.

전부 _5V 로 네트네임을 일부로 그룹핑이 되도록 설정해 두었다. 이렇게 해야 일일이 클릭하는 수고를 덜어낼 수 있다.

암튼 필터 적용을 하고, 이 부분은 전원처럼 클래스가 적용되면 좋으므로, 다음과 같이 새로운 네트 클랙스를 지정한다.

![](assets/images/2023/01/img010.png?resize=1024%2C533&ssl=1)

이미 두껍게 설정해둔 전원 클래스 3.3V 클래스를 활용하도록 한다. 선택한 네트에 할당 이라는 버튼을 눌러 네트 클래스를 바꾸면 된다.

![](assets/images/2023/01/img011.png?resize=1024%2C533&ssl=1)

그림 처럼, 3.3V 클래스로 바뀜을 확인 할 수 있다.

이제 아트웍 작업 환경으로 가서 해당 네트를 그리면, 여기 지정된 값으로 배선폭이 크게 그려지게 됩니다. 끝.

![](assets/images/2023/01/img012.png?resize=1024%2C547&ssl=1)

Django – Template 에서 Empty object 처리

빈 오브젝트를 받을 때 처리하는게 계속 나온다. 프로젝트를 진행하면

아래와 같은 구조로 처리하는 것을 기본으로 하면 좋을 듯

None 인지 아닌지 미리 보고,

for로 iteration 하는 구문에서도 empty 인 경우에는 별도로 처리하고, 기본 틀로 사용하시길

{% if objects is not None %}
    {% for obj in objects %}
        {{obj}}   // Do your stuff here
    {% empty %}
        No results.    // No results case
    {% endfor %}
{% else %}
// None case
{% endif %}

billboard.js charts – legend click 이벤트 없애기

legend 클릭 이벤트 없애기

이 기능이 좋긴 한데, 불편한 부분도 있당. 아래와 같이 필요없으면, 옵션처리를 하면 아무런 동작을 안하도록 할 수 있다.

legend: {
  item: {
    onclick: function(id) {
      false;
    },
  },
},

결과를 비교해보면,

![](assets/images/2023/01/img001.gif?resize=480%2C360&ssl=1)
legend click 시 사라짐
![](assets/images/2023/01/img002.gif?resize=480%2C360&ssl=1)
legend click 시 아무동작 안함

풀 코드가 필요한가? ㅋ 어디에 위치하는지 헷갈릴 수도

// 테스트 수량
var chart1 = bb.generate({
  data: {
    type: "pie", // for ESM specify as: pie()
    labels: {
      colors: "black",
    }
  },
  pie: {
    padding: 3,
    label: {
      format: function(value, ratio, id) {
        return id+"\n("+value+"개)";
      }
    }    
  },  
<strong>  legend: {
        item: { onclick: function(id) { false; }, }
  },</strong>
  bindto: "#chart-container1"
});

참고 사이트

https://stackoverflow.com/questions/67925029/how-to-disable-legend-click-on-billboard-js-charts

How to disable legend click on billboard.js charts?

공식 API 문서 위치는 여기

https://naver.github.io/billboard.js/release/latest/doc/Options.html#.legend